MySQL第三弹----函数

发布于:2025-02-11 ⋅ 阅读:(130) ⋅ 点赞:(0)

 笔上得来终觉浅,绝知此事要躬行

🔥 个人主页:星云爱编程

🔥 所属专栏: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

结语

感谢您的耐心阅读,希望这篇博客能够为您带来新的视角和启发。如果您觉得内容有价值,不妨动动手指,给个赞👍,让更多的朋友看到。同时,点击关注🔔,不错过我们的每一次精彩分享。若想随时回顾这些知识点,别忘了收藏⭐,让知识触手可及。您的支持是我们前进的动力,期待与您在下一次分享中相遇!

路漫漫其修远兮,吾将上下而求索。


网站公告

今日签到

点亮在社区的每一天
去签到