对用户操作表的数据进行约束
在创建表的时侯规定某一列的数据是否可以为null,是否有默认值,是否必须唯一等等
create table tab_default(
id int(4) primary key,
name varchar(5) default '默认值',
age int(3) default 15
)
describe tab_default;
insert into tab_default (id) values (1);
select * from tab_default;
create table tab_notnull(
id int(4) primary key,
name varchar(5) not null,
age int(3) default 15
)
insert into tab_notnull (id, name) values (1, 'null');
select * from tab_notnull;
describe tab_notnull;
create table tab_default_notnull(
id int(4) primary key,
name varchar(5) default 'hh' not null,
age int(3) default 15
)
insert into tab_default_notnull (id) values (1);
select * from tab_default_notnull;
唯一约束unique
create table tab_unique(
id int(4),
name varchar(10) unique
)
# 设置了唯一约束的字段,可以多次插入null值
insert into tab_unique (id, name) values (1, '123');
insert into tab_unique (id, name) values (2, '13');
insert into tab_unique (id, name) values (3, null);
select * from tab_unique;