mysql学习06(DQL补充)
-
-
聚合函数(常用)
-
函数名称 描述 COUNT() 计数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 -
语法:
--语法:
SELECT COUNT(studentNo) FROM result ; -- Count(字段):会忽略所有的null值;
SELECT COUNT(*) FROM result ; -- Count(*) :不会忽略所有的null值;
SELECT COUNT(1) FROM result ; -- Count(1) :不会忽略所有的null值;
--以上三个count有什么区别:
--没有主键的时候,count(列)效率最高;有主键时,count(1)效率最高;
SELECT SUM(`studentresult`) FROM result ;
SELECT AVG(`studentresult`)FROM result;
SELECT MAX(`studentresult`) FROM result ;
SELECT MIN(`studentresult`)FROM result ;
--group by 分组:
--HAVING:过滤条件;(用在group by 分组之后的过滤 )
-
-
扩展:数据库级别的MD5加密
-
什么是MD5:
-
主要增强算法复杂度和不可逆性;
-
-
-
MD5破解网站的原理:
-
背后有一个字典,MD5加密后的值,加密前的值;
-
DROP TABLE IF EXISTS testmd5;
CREATE TABLE testmd5(
`id` INT(4) NOT NULL,
`name` VARCHAR(20) NOT NULL,
`pwd` VARCHAR(50) NOT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8
-- 明文密码
INSERT INTO testmd5 VALUES(1,'张三','123456'),(2,'李四','123456'),(3,'王五','123456');
-- 加密:就需要更新密码
UPDATE testmd5 SET pwd=MD5(pwd) WHERE id=1;
-- 插入的时候,加密;
INSERT INTO testmd5 VALUES(4,'小明',MD5('123456'));
-- 如何校验:将用户传递进来的密码进行MD5加密,然后比对加密后的值
SELECT * FROM testmd5 WHERE `name`='小明' AND `pwd`=MD5('123456');
-
-
select 小结:
-
数据库中最核心的语言,就是DQL;
-
having和where的区别:只是位置不同;
-
淘宝页面:千人千面(不同数据库的查询)
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律