笔上得来终觉浅,绝知此事要躬行
🔥 个人主页:星云爱编程
🔥 所属专栏:MySQL
🌷追光的人,终会万丈光芒
🎉欢迎大家点赞👍评论📝收藏⭐文章
![]()
一、合计/统计函数
1.1count
(1)作用:返回行的总数。
(2)语法:
select count(*) | count(列名) from table_name
[ where where_definition ]
(3)count(*) 和 count(列) 的区别
count(*) 返回满足条件的记录的行数,count(列):统计满足条件的某列有多少个,但是会排除 为null的情况。
1.2sum
(1)作用:返回满足where条件的行的和,一般使用在数值列。
(2)语法:
select sum(列名) {,sum(列名)...} from table_name
[ where where_definition ]
(3)使用细节
当对多列求和,逗号不能少。
1.3avg
(1)作用:返回满足where条件的一列的平均值。
(2)语法:
select avg(列名) {,avg(列名)...} from table_name
[ where where_definition ]
(3)使用细节
当对多列求和,逗号不能少。
1.4max/min
(1)作用:返回满足where条件的一列的最大值/最小值
(2)语法:
select max(列名) | min(列名) from table_name
[ where where_definition ]
1.5使用group by子句对列进行分组
(1)作用:用于对查询的结果分组统计
(2)语法:
SELECT column1,column2,column3...FROM table_name
group by column
1.6使用having子句对分组后的结果进行过滤
(1)作用:用于限制分组限制结果
(2)语法:
SELECT column1,column2,column3...
FROM table_name
group by column having...
(3)where和having的区别
having:用于对分组结果的条件过滤;
where:用于对表中真实数据的过滤。
二、字符串函数
CHARSET(str) | 返回字符串字符集 |
CONCAT(str1,str2,...) | 返回拼接后的字符串 |
INSTR(str,substr) | 返回substring第⼀次出现的索引 |
UCASE(str) | 将给定字符串转换成⼤写,同义词 UPPER() |
LCASE(str) | 将给定字符串转换成⼩写,同义词 LOWER() |
LEFT(str,len) ,RIGHT(str,len) | 返回字符串str中最左/最右边的len个字符 |
LENGTH(str) | 返回给定字符串的字节数,与当前使⽤的字符编码集有关 |
REPLACE(str,from_str,to_s tr) | 把字符串str中所有的from_str替换为to_str,区分⼤⼩写 |
STRCMP(expr1,expr2) | 逐个字符⽐较两个字符串,返回-1,0,1 |
SUBSTR(str,pos) SUBSTR(str FROM pos FOR len) |
返回指定的⼦字符串,同义词 SUBSTRING(str,pos) ,SUBSTRING(str FROM pos FOR len) |
LTRIM(str) , RTRIM(str) ,TRIM(str) | 删除给定字符串的前导、末尾、前导和末尾的空格 |
三、数学相关函数
函数 | 说明 |
---|---|
ABS(X) | 返回X的绝对值 |
CEIL(X) | 返回不⼩于X的最⼩整数值,同义词是 CEILING(X) |
FLOOR(X) | 返回不⼤于X的最⼤整数值 |
CONV(N,from_base,to_base) | 不同进制之间的转换 |
FORMAT(X,D) | 将数字X格式化为“#,###,###”的格式。##',四舍五⼊到⼩数点后D 位,并以字符串形式返回 |
RAND([N]) | 返回⼀个随机浮点值,取值范围[0.0,1.0) |
ROUND(X), ROUND(X,D) | 将参数X舍⼊到⼩数点后D位 |
CRC32(expr) | 计算指定字符串的循环冗余校验值并返回⼀个32位⽆符号整数 |
四、日期函数
函数 | 说明 |
---|---|
CURDATE() | 返回当前⽇期,同义词 CURRENT_DATE , CURRENT_DATE() |
CURTIME() | 返回当前时间,同义词 CURRENT_TIME , CURRENT_TIME([fsp]) |
NOW() | 返回当前⽇期和时间,同义语 CURRENT_TIMESTAMP ,CURRENT_TIMESTAMP |
DATE(data) | 提取date或datetime表达式的⽇期部分 |
ADDDATE(date,INTERVAL expr unit) | 向⽇期值添加时间值(间隔),同义词 DATE_ADD() |
SUBDATE(date,INTERVAL expr unit) | 向⽇期值减去时间值(间隔),同义词 DATE_SUB() |
DATEDIFF(expr1,expr2) | 两个⽇期的差,以天为单位,expr1-expr2 |
五、加密和系统函数
函数 | 说明 |
---|---|
USER() | 查询用户 |
DATABASE() | 数据库名称 |
MD5(str) | 为字符串算出一个MD5 32的字符串,用户密码加密 |
PASSWORD(str) | 从原文密码str计算并返回字符串,通常用于对MySQL数据库的用户密码加密 |
六、流程控制函数
函数 | 说明 |
---|---|
IF(expr1,expr2,expr3) | 如果expr1为真,则返回expr2,否则返回expr3 |
IFNULL(expr1,expr2) | 如果expr1不为NULL,返回expr1,否则返回expr2 |
SELECT CASE WHEN expr1 THEN expr2 WHEN expr3 THEN expr4 ELSE expr5 END;[类似多重分支] | 如果expr1为True ,返回expr2 ,,如果expr3为True, 返回 expr4, 否则返回 expr5 |
结语
感谢您的耐心阅读,希望这篇博客能够为您带来新的视角和启发。如果您觉得内容有价值,不妨动动手指,给个赞👍,让更多的朋友看到。同时,点击关注🔔,不错过我们的每一次精彩分享。若想随时回顾这些知识点,别忘了收藏⭐,让知识触手可及。您的支持是我们前进的动力,期待与您在下一次分享中相遇!
路漫漫其修远兮,吾将上下而求索。