聚合函数
函数名
说明
COUNT()
统计个数
SUM()
总和,不是数字没有意义
AVG()
求平均值,不是数字没有意义
MAX()
求最大值,不是数字没有意义
MIN()
求最小值,不是数字没有意义
group by 分组语句,
having 对分组之后的表进行筛选
//这是MySQL语句的执行顺序,意味着MySQL会先去找要查询的表,然后查看where条件,然后进行分组,然后进行select显示列,然后再进行筛选having条件
select ④ from ① where ② group by ③ having ⑤
时间函数
函数名称
描述
current_date()
当前日期
current_time()
当前时间
current_timestamp()
当前时间戳 ,格式为xxxx-xx-xx xx:xx:xx
date(datetime)
返回datetime参数日期部分
date_add(date,interval d_value_type)
date参数添加日期或者时间,interval 后面跟数字,d_value_type是时间单位(year,minute,second,day)例如:date_add(‘2024-1-05’,interval 10 day);会输出2024-1-15
date_sub(date,interval d_value_type)
这个是减去日期或者时间,用法同上
datediff(date1,date2)
两个日期的差,单位是天
now()
当前时间,和current_timestamp()一样的格式
字符集函数
函数名
作用说明
charset(str)
返回的是str字符串的字符集,例如utf8,gbk
concat(str1,[,…])
可以连接多个字符串,用逗号隔开
instr(string,substring)
返回substring在string中出现的位置,如果没有返回0
ucase(string2)
转换成大写
lcase(string2)
转换成小写
left(string2,length)
从string2中左边起提取length个字符
length(string)
string的长度
replace(str,search_str,replace_str)
在str中用replace_str替换search_str
strcmp(string1,string2)
比较两个字符串的大小
substring(str,position[,length])
从str的postion开始,取length个字符
ltrim(string) rtrim(string) trim(string)
去除前空格或后空格
数学函数
函数名称
函数说明
abs(number)
绝对值函数
bin(decimal_number)
十进制转换成二进制
hex(decimal_number)
十进制转换成十六进制
conv(number,from_base,to_base)
进制转换
ceiling(number)
向上取整
floor(number)
向下取整
format(number,decimal_places)
格式化,保留小数位数
rand()
返回随机浮点数,返回[0.0,1.0]
mod(number,denominator)
求模,取余
其他函数
函数名称
函数作用
user()
返回当前用户
md5(str)
对str进行md5值的转换
database()
显示当前正在使用的数据库
password(your_password)
数据库存储密码时,可以用password函数进行加密。其中,your_password 是你要加密的密码。这将返回密码的加密版本。需要注意的是,PASSWORD()
函数在 MySQL 8.0 版本及以上已被弃用,取而代之的是 SHA2()
函数。在新的 MySQL 版本中,推荐使用更安全的密码散列算法,如 SHA256 或 SHA512,而不是使用过时的 PASSWORD()
函数。例如:-- 使用 SHA256 加密 SELECT SHA2('your_password', 256); -- 使用 SHA512 加密 SELECT SHA2('your_password', 512);
ifnull(val1,val2)
如果val1为null,返回val2,否则返回val1