常用函数
-- 数学运算 SELECT ABS(-8) -- 绝对值 SELECT CEILING(7.8) -- 向上取整 SELECT FLOOR(7.8) -- 向下取整 SELECT RAND() -- 返回0~1随机数 SELECT SIGN(0) -- 判断一个数的符号 0->0 负数->-1 整数->1 -- 字符串函数 SELECT CHAR_LENGTH('爱意随风起') -- 字符串长度 SELECT CONCAT('我','爱','番茄') -- 拼接字符串 SELECT INSERT('我想学习!',1,2,'超级想') -- 替换字符串 SELECT UPPER('abcd') -- 转大写 SELECT LOWER('ABCD') -- 转小写 SELECT INSTR('tomato','t') -- 返回第一次出现字符的位置 SELECT REPLACE('坚持就是胜利','坚持','努力') -- 替换出现指定的字符串 -- 查询名字带刚的同学,再把刚替换成苍 SELECT REPLACE(studentname,'刚','苍') FROM student WHERE studentname LIKE'%刚%' -- 时间日期函数 SELECT CURRENT_DATE() -- 获取当前日期 SELECT CURDATE() -- 获取当前日期 SELECT NOW() -- 获取当前时间 SELECT LOCALTIME() -- 获取本地时间 SELECT SYSDATE() -- 获取系统时间
聚合函数(常用)
函数 | 名称 |
count() | 计数 |
sum() | 求和 |
avg() | 平均值 |
max() | 最大值 |
min() | 最小值 |
... | ... |
-- 都能统计表中数据 SELECT COUNT(studentname) FROM student -- count(指定列),会忽略所有的null值 SELECT COUNT(*) FROM student -- count(*) 不会忽略null值 SELECT COUNT(1) FROM student -- 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
数据库级别的MD5加密
什么是MD5?
MD5是信息摘要算法,由MD4,MD3,MD2改进而来,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,'张三','67386'),(2,'李四','78523'),(3,'王五','53453') -- 加密 UPDATE testmd5 SET pwd=MD5(pwd) -- 加密全部密码 -- 插入的时候加密 INSERT INTO testmd5 VALUES(4,'赵六',MD5('99889')),(5,'小明',MD5('67859')),(6,'李华',MD5('32231')) -- 如何校验,将用户输入的密码进行加密,对比加密的值 SELECT * FROM testmd5 WHERE `name`='赵六' AND pwd=MD5('99889')