MySQL关键字讲解
函数关键字:
MySQL时间校正:北京时间
length: 返回长度
upper: 小写 -> 大写
lower: 大写 -> 小写
substr: 截取字符串
concat: 拼接字符串
repeat:返回 str 重复 x 次的结果
left: 自左向右截取字符串
right: 自右向左截取字符串
instr: 返回索引
trim: 去掉左右两端的指定字符(默认去空格)
lpad:左填充,rpad:右填充
replace:替换
distinct: 去重
聚合函数
sum: 求和
avg:平均值
max:最大值
min:最小值
count:结果集个数
日期关键字
now:返回当前日期+时间(开始时获得)
sysdate: 返回当前日期+时间(动态获得)
year:返回年
month:返回月
day:返回日
date_format:将日期转换成字符
curdate:返回当前日期
str_to_date:将字符转换成日期
curtime:返回当前时间
hour:小时
minute:分钟
second:秒
datediff: 返回两个日期相差的天数
date_add: 对某个日期加上(或减去)几天、几个小时、几分钟、几秒钟等操作。
数学函数
round: 四舍五入
ceil:向上取整,floor:向下取整
truncate:截断数字,保留小数点后一位
mod: 取5除2的余数
curdate: 当前日期
case: 条件判断语句
case + select: 查询应用
case + update: 更新应用(可用于批量更新不同value的数据)
连接查询
union : 连接两个查询sql的结果集 对结果去重
union all :不对结果去重
内连接 ★):inner
外连接 join on
左外(★):left 【outer】
右外(★):right 【outer
全外:full【outer】
交叉连接:cross
子查询
in & exists : 适合于外表大而内表小的情况
exists : 相关子查询,检测 行 的存在。
from后面支持表子查询
列子查询 (结果集只有一列多行)
行子查询 (结果集有一行多列)
表子查询(结果集一般为多行多列)
其他:
on duplicate key update:避免重复插入数据
group by:分组查询
having:对分组后的结果进行二次筛选
find_in_set : 精准匹配集合中元素
**题外话:
函数关键字:
MySQL时间校正:北京时间
执行下面sql语句,完成后需重新连接数据库方可正常显示
set persist time_zone='+8:00';
length: 返回长度
upper: 小写 -> 大写
lower: 大写 ->