1.3.4 约束(constraint)
1.3.4.1 主键约束(primary key)
主键约束包含:单字段主键,多字段主键(联合主键)
一张表中只能有一个主键约束,主键约束时这个表的唯一标识。
列级主键约束的创建
//创建表前,先删除数据库中存在的s_user表
drop table if exists s_user;
//创建表,并给id字段设置 列级 主键约束
create table s_user(
id int primary key,/*列级约束*/
name varchar(255)
);
//插入基础数据
insert into s_user values(1,'张三');
//插入数据,id字段不添加数据。
insert into s_user(name) values('张三');
根据以上的测试,可以得出,主键不能为null
//插入数据,id字段重复
insert into s_user values(1,'liso');
.png)]
根据上面的测试,可以得出,主键不能重复
修改 主键约束
alter table s_user add primary key(id);
删除 主键约束
alter table s_user drop primary key;
表级主键约束的创建
drop table if exists s_user;
//创建表级的主键约束
create table s_user(
id int,
idcode int(22),
name varchar(255),
primary key (id,idcode)
);
主键约束:在一张表中只能有一个主键约束,要么是一个单个主键,要么是联合主键
当在一张表中创建了多个列级主键时,会报如下错误:1068:定义多个主键。
MySQL中的自增序列:auto_increment
drop table if exists s_user;
//创建自增列
create table s_user(
id int primary key auto_increment,
name varchar(255)
);
//插入数据
insert into s_user(name) values ('ls1');
insert into s_user(name) values ('ls2');
insert into s_user(name) values ('ls3');
insert into s_user(name) values ('ls4');
insert into s_user(name) values ('ls5');
insert into s_user(name) values ('ls6');
insert into s_user(name) v