mysql学习笔记-sql键表约束

主键约束:不重复且不为空

创建的表字段为id和name,设置主键为id
create table user(id INT PRIMARY KEY,name VARCHAR(20));
在这里插入图片描述
插入一条记录
insert into user values(1,‘张三’);
在这里插入图片描述

联合主键:都不为空且联合不重复

上面若再插入id为1 ,name为李四的记录,结果会报错,因为主键重复
在这里插入图片描述
此时需要设置联合主键
create table user2(id INT,name VARCHAR(20),password VARCHAR(20),PRIMARY KEY(id,name));
现在再插入
insert into user2 values(1,‘张三’,‘123456’);
insert into user2 values(1,‘李四’,‘123456’);
在这里插入图片描述

自增约束:自动生成主键

在主键后加auto_increment即可自动生成主键
create table user3(id INT primary key auto_increment,name VARCHAR(20));
在这里插入图片描述
例如,此时插入记录只需插入name
但这样是不行的insert into user3 values(‘小可爱’);
在这里插入图片描述
必须在values前面加入字段名 insert into user3 (name) values(‘小可爱’);
在这里插入图片描述
它就会自动生成主键
在这里插入图片描述

添加或删除主键

create table user4(id int,name VARCHAR(20));
原来
describe user4;没有主键
在这里插入图片描述
添加之后
alter table user4 add primary key(id);
现在id 就为keyl了在这里插入图片描述
删除主键
alter table user4 drop primary key;
使用modify修改
alter table user4 modify id int primary key;

发布了16 篇原创文章 · 获赞 9 · 访问量 1047

猜你喜欢

转载自blog.csdn.net/qq_42871249/article/details/101373926