MYSQL编写SQL技巧记录

MYSQL常用的SQL技巧记录

SQL执行顺序

编写顺序:
SELECT DISTINCT
	<select list>
FROM
	<left_table> <join_type>
JOIN
	<right_table> ON <join_condition>
WHERE
	<where_condition>
GROUP BY
	<group_by_list>
HAVING
	<having_condition>
ORDER BY
	<order_by_condition>
LIMIT
	<limit_params>
执行顺序
FROM <left_table>     -- 1.从哪张表来进行查询

ON  <join_condition>  -- 2.需要关联的表,以及关联的查询条件
	<join_type> JOIN <right_table> 	
WHERE	
	<where_condition> -- 3.查询条件
GROUP BY
	<group_by_list>	  -- 4.分组参数
HAVING
	<having_condition> -- 5.过滤条件
SELECT DISTINCT
	<select list>     -- 6. 查询哪些字段
ORDER BY
	<order_by_condition> -- 7. 排序
LIMIT
	<limit_params> -- 8. 分页参数

MYSQL常用函数

数字函数
函数名称作用
ABS求绝对值
SQRT求二次方根
MOD求余数
CEIL和CEILING两个函数功能相同,都是返回不小于参数的最小整数,即向上取整
FLOOR向下取整,返回值转化为一个BIGINT
RAND生成一个0~1之间的随机数,传入整数参数是用来产生重复序列
ROUND对所传参数进行四舍五入
SIGN返回参数的符号
POW和POWER两个函数的功能相同,都是所传参数的次方结果值
SIN求正弦值
ASIN求反正弦值,与函数SIN互为反函数
COS求余弦值
ACOS求反余弦值,与函数COS互为反函数
TAN求正切值
ATAN求反正切值,与函数TAN互为反函数
COT求余切值
字符串函数
函数名称作用
LENGTH计算字符串长度函数,返回字符串的字节长度
CONCAT合并字符串函数,返回结果为连接参数产生的字符串,参数可以使一个或多个
INSERT替换字符串函数
LOWER将字符串中的字母转换为小写
UPPER将字符串中的字母转换为大写
LEFT从左侧截取字符串,返回字符串左边若干个字符
RIGHT从右侧截取字符串,返回字符串右边若干个字符
TRIM删除字符串左右两侧的空格
REPLACE字符串替换函数,返回替换后的新字符串
SUBSTRING截取字符串,返回从指定位置开始的指定长度的字符串
REVERSE字符串反转(逆序)函数,返回与原始字符串顺序相反的字符串
日期函数
函数名称作用
CURDATE 和 CURRENT_DATE返回当前系统的日期值
CURTIME 和 CURRENT_TIME返回当前系统的时间值
NOW 和 SYSDATE返回当前系统的日期和时间值
MONTH获取指定日期中的月份
MONTHNAME获取指定日期中的月份英文名称
DAYNAME获取指定日期对应的星期几英文名称
DAYOFWEEK获取指定日期对应的一周的索引位置值
WEEK获取指定日期是一年中的第几周,返回值的范围是:0~52 或 1~53
DAYOFYEAR获取指定日期是一年中的第几天,返回值范围是:1~366
DAYOFMONTH获取指定日期是一个月中的第几天,返回值范围是:1~31
YEAR获取年份,返回值范围是:1970~2069
TIME_TO_SEC将时间参数转换为秒数
SEC_TO_TIME将秒数转换为时间,与TIME_TO_SEC互为反函数
DATE_ADD 和 ADDEATE向日期添加指定的时间间隔
DATE_SUB 和 SUBDATE向日期减去指定的时间间隔
ADDTIME时间加法运算,在原始时间上添加指定的时间
SUBTIME时间减法运算,在原始时间上减去指定的时间
DATEDIFF获取两个日期之间的间隔,返回参数1减去参数2的值
DATE_FORMAT格式化指定的日期,根据参数返回指定格式的值
WEEKDAY获取指定日期在一周内的对应的工作日索引
聚合函数
函数名称作用
MAX查询指定列的最大值
MIN查询指定列的最小值
COUNT统计查询结果的行数
SUM求和,返回指定列的总和
AVG求平均值,返回指定列数据的平均值
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值