MySQL中的基礎知識

清屏: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,支持事務和索引。鎖顆粒為行鎖

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享