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