sql常用函数
字符串函数
trim(x) 去掉前面和后面空格
upper(x)转大写
lower(x)转小写
concat(x)拼接字符串
数学函数
ceil(x)向上取整
floor(x)向下取整
abs(x)绝对值
rand()随机数(浮点)
pow(底数,幂)幂运算
日期函数
curdate()当前日期
curtime()当前时间
now()当前日期时间
datediff(前一个日期,后一个日期)计算日期差值
返回前-后相隔的天数。
timediff(,)计算时间差值
返回前后相隔了多少时分秒。
流程函数
if(式1,值1,值2)式子是真返回值1,否则返回值2.
ifnull(值1,值2)值1不为空返回值1,否则返回值2
case when 条件1 then result1 when 条件2 then result2 end resultn;相当于Java中的if...{}else if...{}else{}
判断条件
数据库中的判断等于是=,不是==。
权限grant
GRANT <权限类型> [ ( <列名> ) ] [ , <权限类型> [ ( <列名> ) ] ] ON <对象> <权限级别> TO <用户>
用户的格式
<用户名> [ IDENTIFIED ] BY [ PASSWORD ] <口令>
查看当前账户的权限
show grants;
注意:
grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;
但是尽量不要授予用户这个权限,出于安全性的考虑,数据库的权限最好由DBA统一管理
撤销权限revoke
revoke 权限 on 数据库.表 from 用户;