聚合函数
函数名 说明 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