约束条件
1约束条件
约束是一种限制,通过对表中的数据做出限制,来确保表中数据的完整性,唯一性
默认约束
CREATE TABLE tb(
id INT DEFAULT 'a' ,
name VARCHAR(20)
);
插入数据的时候,如果没有明确为字段赋值,
则自动赋予默认值
在没有设置默认值的情况下,默认值为NULL
非空约束
CREATE TABLE tb(
id INT NOT NULL,
name VARCHAR(20)
);
限制一个字段的值不能为空,空着报错;
Insert的时候必须为该字段赋值
主键一个表里只有一个,主键非空且唯一,你必须插入数据,否则就报错;
主键约束
这里重复插入1,就会因为有了主键约束而报错;
自增长约束(auto_increment)
CREATE TABLE tb(
id INT auto_increment,
name VARCHAR(20),PRIMARY KEY (id)
);
自动编号,和主键组合使用,
一个表里面只能有一个自增长
CREATE TABLE tb(id INT auto_increment,name VARCHAR(20) ,PRIMARY KEY (id)) auto_increment=1000;
外键约束(foreign key)
CREATE TABLE a(
id_a INT PRIMARY KEY,
name VARCHAR(20)
);
CREATE TABLE b(
id_b INT PRIMARY KEY,
name VARCHAR(20),
foreign key (id_b) references a(id_a)
);
我有的你一定有, 你没有的, 我绝对没有
1. B表中的id_b字段,只能添加 id_a中已有的数据。
2. A表中id_a 被参照的数据, 不能被修改和删除
上面三个图我们就能看出,a表中没有的,b表中也不能插入