5、MySQL函数
5.1常用函数
略
5.2聚合函数
SELECT COUNT(`borndate`) FROM student; -- Count(字段),会忽略所有的null值
SELECT COUNT(*) FROM student; -- Count(*),不会忽略null值,本质计算行数
SELECT COUNT(1) FROM result; -- Count(1),不会忽略所有的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
GROUP BY
1、概述
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
-- 分组+过滤
-- 查询不同课程的平均分,最高分,最低分,且平均分>80
SELECT subjectname,AVG(`studentresult`) AS 平均分,MAX(`studentresult`) AS 最高分,MIN(`studentresult`) AS 最低分
FROM result r
INNER JOIN `subject` sub
ON r.subjectno = sub.subjectno
GROUP BY r.subjectno
HAVING 平均分>80
遇到的错误:
错误代码: 1630
FUNCTION school.count does not exist. Check the ‘Function Name Parsing and Resolution’ section in the Reference Manual
COUNT ()→COUNT();COUNT与()之间没有空格
5.3数据库级别的MD5加密(扩展)
什么是MD5?
主要增强算法复杂度和不可逆性。
MD5不可逆,具体的值得md5是一样的
MD5破解网站的原理,背后有一个字典,跑MD5加密后的值返回加密前的值
创建一个testmd5表,并插入用户,将所有用户密码加密
插入一个用户,同时将密码加密
将用户输入的密码先转换成MD5加密后的值,拿这个值去访问数据库