什么,MySQL居然也有函数...

MySQL函数

前言

这一小节学习的是MySQL的函数,与其他语言的函数操作很相像,也比较简单,学习一些常用的掌握即可!

MySQL函数官网:MySQL函数大全

1、常用函数

Java能用的MySQL基本都能用

--数学运算
select abs(-100)	--abs绝对值函数
select ceiling(3.9)	--ceiling向上取整函数
select floor(3.9)	--floor向下取整函数
select rand()	--rand返回一个0~1之间的随机数
select sign(39)	--判断一个数的符号 0返回0 负数返回-1 正数返回1

--字符串
select char_length('123456')	--返回字符串长度
select concat('MySQL','和','Java')	--合并字符串
select insert('我爱编程',1,2,'超级热爱')	--查询,从某一个位置开始替换某个长度(从第1位置替换2个长度) 返回:超级热爱编程
select lower('woodwhale')	--小写字母
select upper('woodwhale')	--大写字母
select instr('woodwhale','w')	--返回第一次出现的子串的索引
select replace('新年快乐','新年','牛年')	--替换出现的指定字符串
select substr('新年快乐万事如意',1,4)	--返回指定的子字符串。使用方法:字符串,截取开始位置,截取字符长度。 例子的返回值:新年快乐
select reverse('乐快年新')	--反转。例子返回值:新年快乐

--查询姓周的同学,将 姓氏 周 改为 吴
select replace(studentname,'周','吴') from student
where studentname like '周%'

--时间和日期函数
select current_date()	--获取当前日期
select curdate()	--和current_date一样
select now()	--获取当前时间
select localtime()	--获取当地时间
select sysdate()	--获取系统时间
select year(now())	--获取某个时间的年份,day,month,hour,second,minute同理

--系统
select system_user()
select user()
select version()

2、聚合函数

聚合函数用的比较多,需要掌握!

函数名称描述
count()计数
sum()求和
avg()平均值
max()最大值
min()最小值
......
--查询表中有多少个记录用count()

select count(studentname) from student	-- count(指定列)

select count(*) from student	-- count(*)

select count(1) from student	--count(1)

区别:

count(指定列):会忽略所有的null值

count(*):不会忽略null值,计算行数,计算所有列

count(1):不会忽略null值,计算行数,计算一列的行

具体的细小差别可以查阅其他博客进行深究~

--sum() avg() max() min()
select sum(studnetresult) as 总分 from result
select avg(studnetresult) as 平均分 from result
select max(studentresult) as 最高分 from result
select min(studentresult) as 最低分 from result

聚合函数的练习:

--查询不同课程的平均分,最高分,最低分,平均分大于80
select subjectname,avg(studentresult) as 平均分,max(studentresult) as 最高分,min(studentresult) as 最低分
from result as r
inner join `subject` as sub
on r.subjectno = sub.subjectno
group by r.subjectno	--通过(学科编号)来分组
having 平均分>80	--次要条件过滤用having

后话

MySQL函数这一章节的知识还是很简单的,小伙伴们熟练地掌握使用就可以啦! 如果有任何疑问或错误,可以在评论区指出,咱们一起探讨!