内置函数库根据功能划分: 字符函数、数值运算符和函数、比较运算符和函数、日期时间函数、信息函数、聚合函数、加密函数
(1) 字符函数
CONCAT() 字符连接; CONCAT_WS() 使用指定的分隔符进行字符连接;FORMAT() 数字格式化 ;
LOWER() 转换成小写字符; UPPER() 转换成大写字符; LEFT() 获取左侧字符串; RIGHT() 获取右侧字符串;
LENGTH() 获取字符串长度; LTRIM() 删除前导空格; RTRIM() 删除后续空格; TRIM() 删除前导和后续空格;
TRIM还能够删除某些特定的字符串:
LEADING:前导; TRAILING:后续; 前后都删除 :BOTH; 无法删除中间的
删除中间的某些指定字符串可以使用REPLACE()——字符替换:
SUBSTRING() 字符串截取(字符串,截取的起始位置(编号从1开始;位置为负数则倒数),截取长度(省略时,一直截取到字符串结尾));
[NOT] LIKE 模式匹配: 通配符%代表任意0个或多个字符,TRUE 返回1,FALSE 返回0;_代表任意一个字符;正则表达式,see https://blog.csdn.net/rossisy/article/details/70147418
通配符转义:e.g. SELECT * FROM users WHERE username LIKE '/_om' ESCAPE '/'; 表示/之后的_不作为通配符
(2) 数值运算符和函数
+ - * /等都是典型的数值运算符
MOD 取余数(取模);
DIV 整数除法;
CEIL() 向上取整,进一取整;
FLOOR() 向下取整,舍一取整;
POWER() 幂运算;
ROUND() 四舍五入;
TRUNCATE() 数字截断;
(3) 比较运算符和函数
[NOT] BETWEEN ... AND ... [不] 在范围(闭合区间)之内
[NOT] IN() [不]在列出值范围内
IS [NOT] NULL [不]为空
(4) 日期时间函数
NOW() 当前日期和时间
CURDATE() 当前日期
CURTIME() 当前时间
DATE_ADD() 日期变化(可增加也可以减少)
DATEDIFF() 日期差值
DATE_FORMAT() 日期格式化
(5) 信息函数
CONNECTION_ID() : 连接ID (多线程)
DATABASE() : 当前数据库
LAST_INSERT_ID(): 最后插入记录的ID号 (必须存在自动编号的字段)
另外,利用INSERT 同时写入多条记录的时候,SELECT LAST_INSERT_ID()只返回最后一步INSERT写入的多条记录中的第一条ID;
USER() 当前用户
VERSION() 版本信息
(6) 聚合函数 (特点: 只有一个返回值)
AVG() 平均值, 应该用在数据表中的某些信息
COUNT() 计数
MAX() 最大值
MIN() 最小值
SUM() 求和
(7) 加密函数
MD5() 信息摘要算法, 加密结果是一个32位的数字
PASSWORD() 密码算法
如果这些信息为以后的WEB页面做准备,尽量使用MD5(); 在修改MySQL客户端自己密码时可以用PASSWORD(),e.g. SET PASSWORD=PASSWORD('...');
【这些函数很少纯粹使用,一般根据实际的需要进行函数的单个或嵌套使用,函数可以用在数据表的任何相应的字段上】
[参考链接] https://www.imooc.com/learn/122