数据库中的约束纯干货——主键约束

目录

(一)特点:

(二)添加主键约束

2.1格式:

2.2举例:

2.3建立表级约束:

2.4建立表后增加主键约束

(三)复合主键

3.1格式:

3.2举例:


作用:用来唯一标识表中的一行记录

关键字:PRIMARY KEY

(一)特点:

1.主键约束相当于唯一约束+非空约束的组合。

2.主键约束列不允许重复,也不允许出现空值。

3.一个表最多只能有一个主键约束,可以在列级创建,也可以在表级别上创建

4.主键约束对应表中的一列或多列(复合主键)

5.当创建主键约束时,系统默认会在所在的列或列组合上建立对应的主键索引(主键查询的效率更高)

6.删除主键约束了,主键约束对应的索引就自动删除

7.不要修改主键字段的值,因为主键是数据记录的唯一标识,修改了就有可能破坏数据完整性


(二)添加主键约束

2.1格式:

CREATE TABLE 表明(
字段名 数据类型 PRIMARY KEY ,
字段名 数据类型
);
CREATE TABLE 表明(
字段名 数据类型,
字段名 数据类型,
CONSTRAINT 约束名 PRIMARY KEY(字段名)
);

2.2举例:

CREATE TABLE students(
id INT PRIMARY KEY ,
name VARCHAR(10)
);

添加值:

INSERT INTO students
values(1,'zha'),
(2,'zha'),#添加成功
(1,'zhang ')#添加失败,因为id重复
(3,null)#添加成功
(null,'asd')#添加失败,id不能为空

如果一个表建立两个主键约束:

CREATE TABLE students(
id INT PRIMARY KEY ,
name VARCHAR(10) PRIMARY KEY
);

报错:Multiple多重的

2.3建立表级约束:

CREATE TABLE students(
id INT  ,
name VARCHAR(10),
CONSTRAINT stu_id_test PRIMARY KEY(id) 
);

2.4建立表后增加主键约束

ALTER TABLE 表名称 ADD PRIMARY KEY(id);#字段列表可以是一个字段也可以是多个字段,如果是多个字段的话,是复合主键

(三)复合主键

3.1格式:
 

CREATE TABLE 表名(
字段名 数据类型,
字段名 数据类型,
PRIMARY KEY (字段名1,字段名2)
);

3.2举例:

CREATE TABLE students(
id INT  ,
name VARCHAR(10) ,
PRIMARY KEY(id,name)
);

添加值:

INSERT INTO students
values(1,'zha'),
(1,'sa'),#添加成功
(2,'sa ')#添加成功
(1,zha)#添加失败与第一条重复

(四)删除主键

ALTER TABLE 表名称
DROP PRIMARY KEY;

注:删除时,不需要指定主键名,因为一个表只有一个主键,删除主键约束后,非空还存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值