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语法举例说明
CREATE VIEW \text{CREATE VIEW} CREATE VIEW ProductSum (product_type, cnt_product)
AS \text{AS} AS
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
INNER JOIN \text{INNER JOIN} INNER JOIN Product AS P
ON \text{ON} ON SP.product_id = P.product_id
即,根据ON条件,两表进行联结,最终的数据都是完整的,没有缺失值。

LEFT JOIN \text{LEFT JOIN} LEFT JOIN 则是根据左表的ON条件进行联结。

你可能感兴趣的:(数据库)