插入数据时,如果没有明确为字段赋值,则自动赋予默认值
在没有默认值的情况下,默认为null
create table tb(
id int,
name varchar(20),
age int default 18
);
3.非空约束–not null
限制一个字段的值不能为空,insert的时候必须为该字段赋值。
注意:空字符不等于是null
create table tb(
id int,
name varchar(20),
age int not null
);
4.唯一约束(unique key)
限制一个字段的值不重复,该字段的数据不能出现重复。
确保字段中的值唯一
create table tb(
id int unique key,
name varchar(20),
age int
);
5.主键约束(primary key)
主键 = 非空 + 唯一
通常每张表都需要一个主键来体现唯一性
每张表只能出现一个主键
create table tb(
id int primary key,
name varchar(20),
age int
);
6.自增长约束(auto_increment)
自动编号,和主键组合使用
一个表里面只能有一个自增长
auto_increment 要求用在主键上
create table tb(
id int auto_increment,
name varchar(20),
age int
);
7.外键约束(foreign key)
保持数据的一致性
外键关联起来的一定都能找到
B表中id_b字段, 只能添加id_a中已有的
A表中id_a字段被参照的数据,不能被修改
create table a(
id int primary key,
name varchar(20),
age int
);
create table b(
id int primary key,
name varchar(20),
age int
froeign key (id_b) references a(id_a)
);