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判断是否为 NULLIS NULL 、 IS NOT NULL
IN相当于多个ORN ( ∗ , ∗ , ∗ ) (*,*,*) (,,)
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条件进行联结。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值