SQL基础函数:
包括字符串函数、数值函数、日期函数、流程函数
下面介绍部分有用的函数
数值函数:
函数 | 功能 |
CEIL(x) | 向上取整 |
FLOOR(x) | 向下取整 |
MOD(x) | 返回x/y的模 |
RAND() | 返回0~1以内随机数 |
ROUND(x,y) | 求参数x的四舍五入的值,保留y位小数 |
流程函数:
函数 | 功能 |
IF(value,t , f ) | 如果value为true,则返回t,否则返回f |
IFNULL(val1,val2) | 如果val1不为空,返回val1,否则返回val2 |
CASE WHEN[val1] THEN [res1]...ELSE[default] END | 如果val为true,返回res1,...否则返回default默认值 |
CASE [expr] WHEN [val1] THEN [res1]...ELSE[default] END | 如果expr为val1,返回res1,...否则返回default默认值 |
SQL约束介绍:
约束作用于表中字段,限制表中数据。
类型:
约束 | 描述 | 关键字 |
非空约束 | 限制该字段的数据不能为null | NOT NULL |
唯一约束 | 保证该字段的所有数据都是唯一的 | UNIQUE |
主键约束 | 主键是一行数据的唯一标识,要求非空且唯一 | PRIMARY KEY |
默认约束 | 保存数据时,若未指定字段的值,则用默认值 | DEFAULT |
检查约束 | 保证字段满足某个条件(8.0.16版本后) | CHECK |
外键约束 | 让两张表的数据建立连接,保证数据一致完整 | FOREIGN KEY |
用法代码展示:
create table user(
id int primary key,/*主键约束*/
name varchar(10) not null,/*非空约束*/
age int check ( age > 0 && age <=100),/*检查约束*/
status char(1) default '1',/*没有则默认为1*/
) comment '用户表';
外键约束:
外键用来让两张表之间建立连接,从而保证数据的一致性和完整性。
例如:在无外键约束的情况下,倘若删除部分课程信息,但仍有课程的先修课是删除的课程,
这就造成了数据的不完整。因此,应该建立外键关联。
语法:(添加外键)
ALTER TABLE 表名(
字段名 数据类型,
...
[ONSTRAINT][外键名称] FOREIGN KEY(外键字段名)
REFERENCES 主表(主表列名)
);/*创建与主表关联的表*/
ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名)
REFERENCES 主表(主表列名);/*创建与主表关联的表*/
在添加外键关联后,若删除先修课信息,数据库报错。
语法:(删除外键)
ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;