==資料庫==1、創建資料庫create database [IF NOT EXISTS] 資料庫名; 2、刪除資料庫drop database [IF EXISTS] 資料庫名; 3、切換資料庫select database(); 4、查詢資料庫show databases; —————————— ...
==資料庫==
1、創建資料庫
create database [IF NOT EXISTS] 資料庫名;
2、刪除資料庫
drop database [IF EXISTS] 資料庫名;
3、切換資料庫
select database();
4、查詢資料庫
show databases;
————————————————————————————
==數據表==
1、創建數據表
create table 表名(
欄位名1 欄位類型1(欄位長度) [ 約束 ] [ comment 欄位1註釋 ], -- 不是 ; 號
欄位名2 欄位類型2(欄位長度) [ 約束 ] [ comment 欄位2註釋 ],
....
欄位名n 欄位類型n(欄位長度) [ 約束 ] [ comment 欄位2註釋 ] -- 最後一列後面是沒有,的
) [ comment 表註釋 ];
2、刪除數據表
==刪除表==: drop table [ if exists ] 表名
3、修改數據表
==添加欄位==: alter table 表名 add 欄位名 類型(長度)
==修改欄位類型==: alter table 表名 modify 欄位名 新數據類型(長度)
==修改欄位名和欄位類型==: alter table 表名 change 舊欄位名 新欄位名 類型 (長度)
==刪除欄位==: alter table 表名 drop column 欄位名
==修改表名==: rename table 表名 to 新表名
4、查詢數據表
==查詢當前資料庫所有表==: show tables
==查詢表結構==: desc 表名
==查詢建表語句==: show create table 表名
————————————————————————————
==數據==
1、添加數據
==指定欄位添加數據==: insert into 表名 (欄位名1, 欄位名2) values (值1, 值2)
==全部欄位添加數據==: insert into 表名 values (值1, 值2, ...)
==批量添加數據(指定欄位)==: insert into 表名 (欄位名1, 欄位名2) values (值1, 值2), (值1, 值2)
==批量添加數據(全部欄位)==: insert into 表名 values (值1, 值2, ...), (值1, 值2, ...)
2、刪除數據
==刪除數據==: delete from 表名 [ where 條件 ]
3、修改數據
==修改數據==: update 表名 set 欄位名1 = 值1 , 欄位名2 = 值2 , .... [ where 條件 ]
4、查詢數據
==查詢指定欄位==: select 欄位1, 欄位2, 欄位3 from 表名
==查詢所有欄位==: select * from 表名
==設置別名==: select 欄位1 [ as 別名1 ] , 欄位2 [ as 別名2 ] from 表名
==去除重覆記錄==: select distinct 欄位列表 from 表名
==條件查詢==: select 欄位列表 from 表名 `where 條件列表 `
==聚合函數==: 將一列數據作為一個整體,進行縱向計算,語法為: select `聚合函數(欄位名)` from 表名
==分組過濾==: select 分組欄位,聚合函數() from 表名 `group by 分組欄位名` `having 分組後過濾條件`
==排序:== select 欄位列表 from 表名 order `by 欄位1 排序方式1 , 欄位2 排序方式2`
ASC:升序(預設值)DESC:降序
==分頁:== select 欄位列表 from 表名 `limit 起始索引, 查詢記錄數`
select 集合函數() from 表 [where 條件] [group by 分組] [having 過濾] [order by 排序] [limit 截取]
1. 普通條件: where
2. 排序: order by 列 asc升序(預設) desc降序
3. 聚合函數: count(列)
4. 分組: group by 列
5. 過濾: having 過濾條件
6. 截取: limit 開始,幾個
————————————————————————————
==外鍵約束==
1、創建表的時候添加
create table 表名(
列名 列類型,
[constraint 約束名: 外鍵列_fk] foreign key (列名) references 主表(主鍵)
)
2、創建表之後單獨添加
alter table 表名 add [constraint 約束名] foreign key (列名) references 主表(主鍵)
————————————————————————————
==連接==
==交叉連接==:select * from 左表,右表
==內連接==
隱式內連接:select * from 左表,右表 where 連接條件
顯示內連接:select * from 左表 [inner] join 右表 on 連接條件
==左外連接==
select * from 左表 left [outer] join 右表 on 連接條件
==右外連接==
select * from 左表 right outer join 右表 on 連接條件
==子查詢==
單個值,使用 = > < 等進行條件判斷 : SELECT 欄位列表 FROM 表 WHERE 欄位名 = (子查詢);
多個值,使用in、not in進行條件判斷 : SELECT 欄位列表 FROM 表 WHERE 欄位名 in (子查詢);
一張表,將此結果聲明為臨時表來使用 : SELECT * FROM (子查詢) AS 表 JOIN 表 ON 條件;