数据库约束-主键约束、唯一约束、外键约束

263 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

我们开发中会经常遇到关于数据库约束的问题,下面我就详细讲下约束是怎么使用的。

一、主键约束: 主键: 非空且唯一。 不能为 null 值, 不能出现重复的数据。 通常情况下, 一个表当中, 主键只能有一个 创建主键约束的两种方法及删除方法:(不需要加自增,就把AUTO_INCREMENT去掉)

  1. 创建表的时候,添加主键自增约束 CREATE TABLE 表名称 ( 列名称 数据类型 PRIMARY KEY AUTO_INCREMENT, .... );
  2. 建表之后, 再添加主键自增约束 ALTER TABLE 表名称 MODIFY 列名 数据类型 PRIMARY KEY AUTO_INCREMENT; 删除主键自增约束语句(在删除主键约束之前,先删除自增约束) ALTER TABLE 表名称 MODIFY 列名称 数据类型; ALTER TABLE 表名称 DROP PRIMARY KEY; 二、唯一约束: 唯一: 不能有重复的值 在一张表当中,可能会出现多个唯一约束的情况 创建唯一约束的两种方法及删除方法:
  3. 创建表的时候, 添加唯一约束 CREATE TABLE 表名称 ( 列名称 数据类型 UNIQUE,
    .... );
  4. 建表之后, 添加唯一约束 ALTER TABLE 表名称 MODIFY 列名 数据类型 UNIQUE; 删除唯一约束语句 ALTER TABLE 表名称 DROP INDEX 列名; 三、外键约束: 外键约束: 建立两张表之间的关联关系。两张表之间的 "通道" 规则: 一张表的外键,需要关联另外一张表的唯一约束(包含有主键关系,主键也有唯一的效果,不能重复)。 创建外键约束的两种方法及删除方法:
  5. 创建表的时候, 添加外键约束 CREATE TABLE 表名称 ( 列名 数据类型 约束, .... ,
    FOREIGN KEY (本表外键列名) REFERENCES 主表名称 (主表主键列名) );
  6. 创建表之后, 添加外键约束 ALTER TABLE 表名称 ADD FOREIGN KEY (本表外键列名) REFERENCES 主表名称 (主键列名); 删除外键约束语句 ALTER TABLE 表名称 DROP FOREIGN KEY 外键名;