2.聚合函数(常用)
| 函数名称 | 描述 |
|---|---|
| COUNT() | 计数 |
| SUM() | 求和 |
| AVG() | 平均值 |
| MAX() | 最大值 |
| MIN() | 最小值 |
| …… |

区别:
从含义上讲,count(1) 与 count(*) 都表示对全部数据行的查询。
count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。
count() 包括了所有的列,相当于行数,在统计结果的时候,包含字段为null 的记录;
count(1) 用1代表代码行,在统计结果的时候,包含字段为null 的记录 。
*下面它们之间的一些对比:
1)在表没有主键时,count(1)比count()快
2)有主键时,主键作为计算条件,count(主键)效率最高;
3)若表格只有一个字段,则count()效率较高。
3.数据库级别的MD5加密
什么是MD5?
主要增强算法复杂度和不可逆性。
MD5不可逆,具体的值的md5是一样的
MD5破解网站的原理,背后有一个字典,MD5加密后的值,加密的前值
-- ====测试MD5 加密===========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,'djeiej','123456')-- 加密UPDATE testmd5 SET pwd=MD5(pwd)INSERT INTO testmd5 VALUES(2,'djefffiej','123456')-- 插入的时候加密INSERT INTO testmd5 VALUES(3,'ffas',MD5('33321'))

-- 如何校验:将用户传递进来的密码,进行MD5加密,然后比对加密后二点值
SELECT * FROM testmd5 WHERE `name`='ffas' AND pwd=MD5('33321')


