视频地址:https://www.bilibili.com/video/BV1iq4y1u7vj?p=72
约束的作用
如何添加约束
创建非空约束
创建唯一约束
唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
CREATE TABLE test2(
id int UNIQUE,#列级约束
last_name VARCHAR(15),
email VARCHAR(25) UNIQUE,
salary DECIMAL(10,2),
# 表级约束
CONSTRAINT test2_email UNIQUE(email)
);
主键约束
一个表中最多只能有一个主键约束,主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).
在ALTER TABLE时来添加约束
删除主键约束
alter table test6
drop primary key;
自增列
某个字段的值自增
只能用于数值类型
外键约束
限定某个表的引用完整性
删除外键约束要手动删除索引
#创建主表
CREATE table dept1(
dept_id int,
dept_name VARCHAR(15)
);
# 创建从表
create table emp1(
emp_id int PRIMARY key AUTO_INCREMENT,
emp_name VARCHAR(15),
department_id int,
# 表级约束
constraint fk_emp1_dept_id foreign key (department_id) REFERENCES dept1(dept_id)
);
#上诉报错是因为dept_id上没有主键约束或者唯一约束
alter table dept1
add PRIMARY key (dept_id)
desc dept1;
约束等级
删除外键约束
CHECK约束
检查某个值是否在范围内
create table test10{
id int,
last_name VARCHAR(15),
salary DECIMAL(10,2) CHECK(salary>2000)
}
DEFAULT约束
添加默认值
create table test10{
id int,
last_name VARCHAR(15),
salary DECIMAL(10,2) DEFAULT(2000)
}