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

目录

(一)特点:

(二)添加主键约束

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;

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

相关推荐

  1. 数据库约束

    2024-03-29 04:06:02       42 阅读
  2. 数据库约束

    2024-03-29 04:06:02       43 阅读
  3. 数据库-表约束

    2024-03-29 04:06:02       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 04:06:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 04:06:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 04:06:02       87 阅读
  4. Python语言-面向对象

    2024-03-29 04:06:02       96 阅读

热门阅读

  1. 突然断电导致git损坏修复

    2024-03-29 04:06:02       37 阅读
  2. 算法日记————对顶堆(4道题)

    2024-03-29 04:06:02       44 阅读
  3. go env 命令详解

    2024-03-29 04:06:02       40 阅读
  4. MongoDB聚合运算符:$isArray

    2024-03-29 04:06:02       35 阅读
  5. Python 的chatGPT API小例子

    2024-03-29 04:06:02       45 阅读
  6. scau:程序设计与算法基础 学习笔记

    2024-03-29 04:06:02       43 阅读