MySQL函数
MySQL 字符串函数(常用)
函数 | 描述 |
---|---|
CHAR_LENGTH(s) | 返回字符串 s 的字符数即长度 |
CONCAT(a1,a2…an) | 拼接a1,a2 等多个字符串,合并为一个字符串 |
INSERT(s1,x,len,s2) | 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串 |
LOWER(s) | 将字符串 s 的所有字母变成小写字母 |
UPPER(s) | 将字符串转换为大写 |
REPLACE(s,s1,s2) | 将字符串 s2 替代字符串 s 中的字符串 s1 |
REVERSE(s) | 将字符串s的顺序反过来 |
SUBSTR(s, start, length) | 从字符串 s 的 start 位置截取长度为 length 的子字符串 |
温馨提示:注意结合注释看代码语句
举例:
-- 返回字符串 Hello World 的字符数
SELECT CHAR_LENGTH("Hello World") AS LengthOfString;
-- 合并多个字符串
SELECT CONCAT("SQL ", "Hello ", "Gooogle ", "World") AS ConcatenatedString;
-- 从字符串第一个位置开始的 6 个字符替换为 Hello:
SELECT INSERT("google.com", 1, 6, "Hello"); -- 输出:Hello.com
-- 字符串 HELLO 转换为小写:
SELECT LOWER('HELLO') -- hello
-- 将字符串 hello 转换为大写:
SELECT UPPER("hello"); -- HELLO
-- 将字符串 abc 中的字符 a 替换为字符 x:
SELECT REPLACE('abc','a','x') --xbc
-- 将字符串 abc 的顺序反过来:
SELECT REVERSE('abc') -- cba
-- 从字符串 Hello 中的第 2 个位置截取 3个 字符:
SELECT SUBSTR("Hello", 2, 3) AS ExtractString; -- ell
MySQL 数字函数(常用)
函数 | 描述 |
---|---|
ABS(x) | 返回 x 的绝对值 |
CEILING(x) | 返回大于或等于 x 的最小整数 |
FLOOR(x) | 返回小于或等于 x 的最大整数 |
RAND() | 返回 0 到 1 的随机数 |
SIGN(x) | 返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1 |
举例:
-- 返回 -1 的绝对值:
SELECT ABS(-1) -- 返回1
-- 大于或等于 1.5 的整数:
SELECT CEILING(1.5); -- 返回2
-- 小于或等于 1.5 的整数:
SELECT FLOOR(1.5) -- 返回1
SELECT RAND() --0.42369031666190393
SELECT SIGN(-10) -- (-1)
MySQL 日期函数(常用)
函数 | 描述 |
---|---|
CURDATE() | 返回当前日期 |
CURRENT_DATE() | 返回当前日期 |
CURRENT_TIME | 返回当前时间 |
LOCALTIME() | 返回当前日期和时间 |
SYSDATE() | 返回当前日期和时间 |
举例:
SELECT CURDATE(); -- 2022-03-24
SELECT CURRENT_DATE(); -- 2022-03-24
SELECT CURRENT_TIME(); -- 16:27:15
SELECT LOCALTIME(); -- 2022-03-24 16:28:08
SELECT SYSDATE(); -- 2022-03-24 16:28:08
MySQL 聚合函数(常用)
函数 | 描述 |
---|---|
MAX | 最大值 |
MIN | 最小值 |
COUNT | 计数 |
SUM | 求和 |
AVG | 平均值 |
举例:
SELECT COUNT(*) FROM student;
SELECT SUM(`studentresult`) AS 总和 FROM result
SELECT MAX(`studentresult`) AS 最高分 FROM result
SELECT MIN(`studentresult`) AS 最低分 FROM result
SELECT AVG(`studentresult`) AS 平均分 FROM result
数据库级别的MD5加密
信息摘要算法
- 增强算法复杂度和不可逆性
- 因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域
再提示一下:注意结合注释看代码语句哦~
CREATE TABLE `testmd5` (
`id` int 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
-- 加密全部密码
UPDATE testmd5 SET pwd=MD5(pwd)