Mysql-05-函数和编程

Mysql-05-函数和编程

官方文档

官网文档

常用函数

数学函数

1
2
3
4
5
6
7
8
9
10
11
# 数学函数 (这里只列出一些常用的)

SELECT ABS(-8); /*绝对值*/

SELECT CEILING(9.4); /*向上取整*/

SELECT FLOOR(9.4); /*向下取整*/

SELECT RAND(); /*随机数,返回一个0-1之间的随机数*/

SELECT SIGN(0); /*符号函数: 负数返回-1,正数返回1,0返回0*/

字符串函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#字符串函数

SELECT CHAR_LENGTH('狂神说坚持就能成功'); /*返回字符串包含的字符数*/

SELECT CONCAT('我','爱','程序'); /*合并字符串,参数可以有多个*/

SELECT INSERT('我爱编程helloworld',1,2,'超级热爱'); /*替换字符串,从某个位置开始替换某个长度*/

SELECT LOWER('KuangShen'); /*小写*/

SELECT UPPER('KuangShen'); /*大写*/

SELECT LEFT('hello,world',5); /*从左边截取*/

SELECT RIGHT('hello,world',5); /*从右边截取*/

SELECT REPLACE('坚持就能成功','坚持','努力'); /*替换字符串*/

SELECT SUBSTR('坚持就能成功',0,4); /*截取字符串,开始和长度*/

SELECT REVERSE('坚持就能成功'); /*反转*/

日期和时间函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#日期和时间函数

SELECT CURRENT_DATE(); /*获取当前日期*/
SELECT CURDATE(); /*获取当前日期*/

SELECT NOW(); /*获取当前日期和时间*/
SELECT LOCALTIME(); /*获取当前日期和时间*/
SELECT SYSDATE(); /*获取当前日期和时间*/

/*获取年月日,时分秒*/
SELECT YEAR(NOW());
SELECT MONTH(NOW());
SELECT DAY(NOW());
SELECT HOUR(NOW());
SELECT MINUTE(NOW());
SELECT SECOND(NOW());

系统和版本信息

1
2
3
#系统信息函数
SELECT VERSION(); /*版本*/
SELECT USER(); /*用户*/

聚合函数

1
2
3
4
5
6
7
8
9
10
11
12
#聚合函数

/*COUNT:非空的*/
SELECT COUNT(studentname) FROM student; #指定列会忽略所有的null值
SELECT COUNT(*) FROM student; #不会忽略null值
SELECT COUNT(1) FROM student; /*推荐*/ #不会忽略null值


SELECT SUM(StudentResult) AS 总和 FROM result;
SELECT AVG(StudentResult) AS 平均分 FROM result;
SELECT MAX(StudentResult) AS 最高分 FROM result;
SELECT MIN(StudentResult) AS 最低分 FROM result;

练习题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 查询不同课程的平均分,最高分,最低分
# 前提:根据不同的课程进行分组

SELECT subjectname,AVG(studentresult) AS 平均分,MAX(StudentResult) AS 最高分,MIN(StudentResult) AS 最低分
FROM result AS r
INNER JOIN `subject` AS s
ON r.subjectno = s.subjectno
GROUP BY r.subjectno
HAVING 平均分>80;

/*
where写在group by前面.
要是放在分组后面的筛选,要使用HAVING..
where 是过滤分组前的结果(原始表可以查得到)
having 是过滤分组后的结果(原始表差不到,只能是分组后计算的结果)
*/
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信