Mysql常用語法總結
Mysql 常用語法總結
最近學習Mysql資料庫,記錄下常用的語法,持續更新。
mysql常用語法表
關鍵詞 | 含義 | 語法 | 備註 |
---|---|---|---|
COUNT,SUM,AVG,MAX,MIN | 常用聚合函式 | ||
GROUP BY | 對錶進行分組 | ||
HAVING | 為聚合結果指定條件 | 子句中只能用常數、聚合函式、GROUP BY中指定的列名 | |
ORDER BY | 對查詢結果進行排序 | order by ‘name’ DSEC/ASC | 降序/升序 |
CREATE VIEW | 建立檢視,檢視就是儲存好的 SELECT 語句 | 注1 | |
ABS(數值) | 絕對值 | ||
MOD | 求餘 | MOD( 被除數,除數 ) | |
ROUND | 四捨五入 | ROUND( 物件數值,保留小數的位數 | |
CONCAT | 拼接 | CONCAT(str1, str2) | |
LENGTH | 字串長度 | LENGTH( 字串 ) | |
LOWER | 改成小寫 | ||
REPLACE | 字串的替換 | REPLACE( 物件字串,替換前的字串,替換後的字串 ) | |
SUBSTRING | 字串的擷取 | SUBSTRING (物件字串 FROM 擷取的起始位置 FOR 擷取的字元數) | |
EXTRACT | 擷取日期元素 | EXTRACT( 日期元素 FROM 日期 ) | YEAR,MONTH,WEEK,DAY,HOUR,MINUTE,SECOND;返回:數值型別 |
CAST | 型別轉換 | CAST (轉換前的值 AS 想要轉換的資料型別) | |
COALESCE | 將 NULL 轉換為其他值 | COALESCE(x,y,z) | 注2 |
LIKE | 模糊查詢 | LIKE ‘%name%’ | 查詢欄位中含有’name’的詞 |
BETWEEN | 範圍查詢 | BETWEEN * AND * | 結果中會包含兩個臨界值 |
NULL | 判斷是否為 NULL | IS NULL 、 IS NOT NULL | |
IN | 相當於多個OR | N | |
CASE | 條件表示 | 注3 | |
UNION | 表的加法 | 注4 | 列的型別和數量需一致,會除去重複的記錄。取並集去重 |
INTERSECT | 選取表中公共部分 | 注5 | 取交集 |
INNER JOIN | 內聯結 | 注6 | |
LEFT(RIGHT) JOIN | 左(右)聯結 | LEFT(RIGHT) OUTER JOIN |
注1:檢視CREATE VIEW語法舉例說明
ProductSum (product_type, cnt_product)
SELECT product_type, COUNT(*)
FROM Product
GROUP BY product_type;
建立好檢視之後,使用檢視:
SELECT product_type, cnt_product
FROM ProductSum
注2:COALESCE語法說明:
COALESCE(x,y,z) = x if x is not NULL
COALESCE(x,y,z) = y if x is NULL and y is not NULL
COALESCE(x,y,z) = z if x and y are NULL but z is not NULL
COALESCE(x,y,z) = NULL if x and y and z are all NULL
即,若x為NULL值,可用y值替換。
注3:CASE條件表達語法說明:
CASE WHEN < 求值表示式 > THEN < 表示式 >
WHEN < 求值表示式 > THEN < 表示式 >
…
ELSE < 表示式 >
END
注4:UNION語法說明:
SELECT product_id, product_name
FROM Product
UNION (ALL)
SELECT product_id, product_name
FROM Product2;
即,將具有相同列的兩表列向拼接,資料記錄行會去重。若想包含重複行,使用UNION ALL
注5:INTERSECT語法說明:
SELECT product_id, product_name
FROM Product
INTERSECT
SELECT product_id, product_name
FROM Product2
ORDER BY product_id;
即,將具有相同列的兩表取交集。
注6:INNER JOIN 語法說明:
FROM ShopProduct AS SP
Product AS P
SP.product_id = P.product_id
即,根據ON條件,兩表進行聯結,最終的資料都是完整的,沒有缺失值。
則是根據左表的ON條件進行聯結。