MySQL③函数、约束一览
函数
MySQL 的函数: 字符串函数、数值函数、日期函数、流程函数。
字符串函数
| 功能 | |
|---|---|
| CONCAT(S1, S2, ... Sn) | 字符串拼接 |
| LOWER(str) | 字符串转小写 |
| UPPER(str) | 字符串转大写 |
| LPAD(str, n, pad) | 左填充,用字符串 pad 对 str 的左边填充 n 个字符串长度 |
| RPAD(str, n, pad) | 右填充,用字符串 pad 对str 的右边填充 n个字符串长度 |
| TRIM(str) | 去掉字符串头尾的空格 |
| SUBSTRING(str, start, len) | 子串,从 start 开始的 len 个长度 |
数值函数
| 功能 | |
|---|---|
| CEIL(x) | 向上取整 |
| FLOOR(x) | 向下取整 |
| MOD(x, y) | x mod y |
| RAND() | 返回0~1内的随机数 |
| ROUND(x, y) | 四舍五入 x 的值,保留 y 位小数 |
日期函数
| 功能 | |
|---|---|
| CURDATE() | 返回当前日期 |
| CURTIME() | 返回当前时间 |
| NOW() | 返回当前日期和时间 |
| YEAR(date) | 获取指定date的年份 |
| MONTH(date) | 获取指定date的月份 |
| DAY(date) | 获取指定date的日期 |
| DATE_ADD(date, INTERVAL exprtype) | 返回一个日期/时间值加上一个时间间隔expr后的时间值 |
| DATEDIFF(date1,date2) | 返回起始时间date1 和 结束时间date2之间的天数 |
流程函数
| 功能 | |
|---|---|
| IF(value , t , f) | 如果value为true,则返回t,否则返回 f |
| IFNULL(value1 , value2) | 如果value1不为空,返回value1,否则返回value2 |
| CASE WHEN [ val1 ] THEN [res1] ...ELSE [ default ] END | 如果val1为true,返回res1,... 否则返回default默认值 |
| CASE [ expr ] WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END | 如果expr的值等于val1,返回 res1,... 否则返回default默认值 |
约束
| 描述 | 关键字 | |
|---|---|---|
| 非空约束 | 限制该字段的数据不能为null | NOT NULL |
| 唯一约束 | 保证该字段的所有数据都是唯一、不重复的 | UNIQUE |
| 主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | PRIMARY KEY |
| 默认约束 | 保存数据时,如果未指定该字段的值,则采用默认值 | DEFAULT |
| 检查约束(8.0.16版本后) | 保证字段值满足某一个条件 | CHECK |
| 外键约束 | 用来让两张表的数据之间建立连接,保证数据的一致性和完整性 | FOREIGN KEY |