MySQL中的基礎知識

來源:互聯網
上載者:User
清屏:cls

MySQL基礎

啟動MySQL net start mysql

關閉MySQL net stop mysql

登入 mysql -uroot -p

退出 mysql>exit;

mysql>quit;

mysql>\p;

顯示當前伺服器版本 SELECT VERSION();

顯示目前時間 SELECT NOW();

顯示目前使用者 SELECT USER();

MySQL預設的連接埠號碼是:3306

MySQL超級使用者是:root

建立資料庫:CREATE DATABASE

修改資料庫:ALTER DATABASE

刪除資料庫:DROP DATABASE

資料類型

整型:TINYINT SMALLINT MEDIUMINT INT BIGINT

浮點型: FLOAT[(M,D)] DOUBLE[(M,D)] M為數字總位元,D為小數點後面的位元

字元型:VERCHAR(M)

資料表

查看有什麼資料庫:SHOW DATABASES;

開啟資料庫:USE 資料庫名稱

查看當前資料庫:SELECT DATABASES;

建立資料表:CREATE TABLE[IF NOT EXISTS]table_name(

ageTINYINT UNSGINED(無符號位),

......

)

查看資料表列表:SHOW TABLES[FORM db_name];使用form可以查看別的資料庫中的表

查看資料表結構:SHOW COLUMNS FORM tbl_name;

插入記錄;INSERT [INTO] tbl_name[(coi_name,...)] VALUES(VAL,...);

尋找記錄:SELECT expr,...FORM tbl_name(WHERE .....);

空值與非空

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) NOT NULL,

age2 TINYINT UNSGINED(無符號位) NULL,//預設是可以為空白

......

)

自動編號AUTO_INCREMENT

1自動編號,且必須與主鍵組合使用

2預設情況下,起始值為1,增量為1

主鍵PRIMARY KEY

1每張表只能有一個主鍵

主鍵保證記錄的唯一性

主鍵自動為NOT NULL

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) PRIMARY KEY,

......

)

唯一約束UNIQUE KEY

預設約束:DEFAULT

更新記錄UPDATE

文法:UPDATE tb_name SET age=age+10 WHERE name="chaihuo";

刪除記錄FELETE

文法:DELETE FORM tb_name WHERE name="chaihuo";

查詢結果分組GROUP BY

文法:SELECT sex FORM users BY sex;

HCAING分組條件

文法:SELECT sex,age FORM users BY sex HAVING age>35;

主要:此時HAVING後面只有兩種情況1)彙總函式2)在select後面

對查詢結果進行排序ORDER BY

文法:SELECT * FORM users ORDER BY id DESC;

運算子和函數

字元運算子

CONCAT()字元串連

CONCAT_WS()使用指定的分隔字元進行字元串連

FORMAT()數字格式化

LOWER()UPPER()轉換成小/大寫字母

LEFT() RIGHT()擷取左/右側字元

LENGTH()擷取字串長度

SUBSTRING()字串截取

[NOT] LIKE 模式比對

REPLACE()字串替換

數值運算子與函數

CEIL() 進一取整

DIV 整數除法

FLOOR()舍一取整

MOD 取餘數

POWER() 冪運算

ROUND()四捨五入

比較子與函數

[NOT] BETWEEN...AND... [NOT]IN() IS[NOT]NULL

資訊函數

CONNECTION_ID() 串連id

DATEBASE()當前資料庫

LAST_INSERT_ID()最後插入記錄的Id號

USER()目前使用者

VERSON()版本資訊

彙總函式

AVG()平均值

COUNT()計數

MAX() MIN() SUM()

加密函數

MD5()資訊摘要演算法

PASSWORD()密碼演算法

子查詢和串連

將查詢結果寫入資料表

INSERT[INTO] tbl_name[(col_name,...)] SELECT...

例子:INSERT tdb_goods(cate_name) SELECT good_cake FORM table GROUP BY good_cake;

多表更新

UPDATE table1 INNER JOIN table2 ON table1_name=table2_name SET table1_id=table2_di;

CREATE...SELECT

建立資料表同時將查詢結果寫入到資料表

CREATE TABLE table_name [(create_definine)] select_statement

例:CREATE TABLE table1(

id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

name VARCHAR(20) NOT NULL)

SELECT SELECT good_cake FORM table GROUP BY good_cake;

)

儲存引擎

通過修改MySQL設定檔實現

1)-ddfault-storage-engine=engine

2)通過建立資料表命令實現

CREATE TABLE[IF NOT EXISTS]table_name(

age1 TINYINT UNSGINED(無符號位) NOT NULL,

age2 TINYINT UNSGINED(無符號位) NULL,//預設是可以為空白

......

)ENGINE=engine;

通過修改資料表命令實現

-ALTER TABLE table_name ENGINE[=]engine_name;

儲存引擎

MyISAM:儲存現在可達256TB,支援索引。表級鎖定,資料壓縮

InnoDB:儲存限制為64TB,支援事務和索引。鎖顆粒為行鎖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.