- 数据约束
1. 数据约束就是对用户操作表的数据进行约束
2. 默认值
作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值。
create table tb_demo(
id int,
name varchar(40),
address varchar(40) default 'xian' //默认值为xian
);
3. 非空
作用: 限制字段必须赋值
create table tb_demo(
id int,
name varchar(40),
address varchar(40) not null //非空字段必须赋值
);
4. 唯一
作用: 对字段的值不能重复
create table tb_demo(
id int unique, //设置id的属性值唯一,
name varchar(40));
5. 主键
作用 非空+唯一
create table tb_demo(
id int primary key, //主键 id的属性值不能为空,且不能重复
name varchar(40));
6. 字增长
作用 自动地增
create table tb_demo(
id int(4) primary key auto_increment, //字增字段可以不用赋值,自动增长
name varchar(40));
7. 外键
作用 约束两种表的数据
下面以创建一个员工表,部门表来举例
问题出现:在插入员工表数据的时候,员工表的部门ID字段可以随便插入
使用外键约束:约束插入员工表的部门ID字段值
解决办法: 在员工表的部门ID字段添加一个外键约束
部门表(主表)
create table dept(
id int primary key auto_increment,
deptName varchar(20)
);
修改员工表(副表)
create table employee(
id int(4) primary key auto_increment,
empName varchar(20),
depId int,-- 把部门名称改为部门ID
-- 声明一个外键约束
constraint emlyee_dep_fk foreign key(depId) references dep(id)
-- 外键名称 外键 参考表(参考字段)
)