-
DDL 資料定義語言
-
CREATE
-
建立資料庫
- create database + name
-
ALTER
-
追加欄位
- ALTER TABLE + name
ADD COLUMN + name + 型態
-
DROP
-
刪除資料庫
- drop database + name
-
刪除欄位
- ALTER TABLE + name
ADD COLUMN + name + 型態
-
DML 資料操作語言
-
INSERT
-
新增資料
- INSERT INTO heroes
(欄位...)
VALUES
(值...)
-
UPDATE
-
更新資料
- UPDATE heroes
SET age =10
WHERE ...
-
DELETE
-
刪除資料
- DELETE FROM heroes
WHERE ...
-
DQL 資料查詢語言
-
SELECT
-
查全部欄位
- SELECT * FROM + 資料庫 WHERE(欄位...)
-
查特定欄位
- SELECT 欄位名 FROM + 資料庫 WHERE(欄位...)
-
查沒有填的欄位
- WHERE 欄位 IS NULL
-
查特定字元
- WHERE 欄位 LIKE "%背心%"
-
查特定區間
- WHERE age >= 10 AND age <=25
- WHERE age BETWEEN 10 AND 25
-
查多筆條件
- WHERE hero_level = "A" OR hero_level = "S"
- WHERE hero_level IN ("S", "A")
-
查多個欄位
(交叉查詢)
- WHERE hero_level IN ("A") AND gender IN ("M")
-
查不要包含的
- WHERE hero_level NOT IN ("S")
- WHERE hero_level<>"S"
- WHERE hero_level NOT IN ("S", "A")
-
特殊用法
-
計算總數
- SELECT COUNT(*)
FROM heroes
-
加總
- SELECT SUM(age)
FROM heroes
-
平均
- SELECT AVG(age)
FROM heroes
-
最大值
- SELECT MAX(age)
FROM heroes
-
最小值
- SELECT MIN(age)
FROM heroes
-
分組
- 不可細分
- SELECT DISTINCT hero_level
FROM heroes
- 可細分
- SELECT hero_level, SUM(age),AVG(age)
FROM heroes
GROUP BY hero_level
-
排序
- 正向
- ORDER BY age
- 反向
- ORDER BY age DESC
-
限制筆數
- LIMIT + 數字
-
加入資料表
- 全加
- SELECT *
FROM t1
JOIN t2
- 以左邊為主,左邊全列出,
右邊有的就列,沒有就null
- Left Join
- SELECT *
FROM t1
LEFT JOIN t2
ON t1.username = t2.name
- 以右邊為主,右邊全列出,
左邊有的就列,沒有就null
- Right Join
- 兩邊都有的才列出
- Inner Join
- SELECT *
FROM t1
INNER JOIN t2
ON t1.username = t2.name
-
查有值的
- IS NOT NULL