外键约束
FOREIGN KEY: 一个表中的外键指向另一个表中的主键
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
外键列对应的表中的主键列必须是建立了索引
通过 CREATE TABLE 语句规定约束条件:
- 创建FOREIGN KEY约束:
CREATE TABLE 表名
(
列名1 数据类型 NOT NULL,--列名1不可为null值--
列名2 数据类型,
...
PRIMARY KEY(列名1)
FOREIGN KEY(列名2) REFERENCES 表名(列名2)
);
- 创建FOREIGN KEY约束
CREATE TABLE 表名
(
列名1 数据类型 NOT NULL,
列名2 数据类型,
列名3 数据类型 NOT NULL,
...
CONSTRAINT 约束名 FOREIGN KEY(列名1) REFERENCES 表名(列名);
);
当表已经被创建时,使用ALTER TABLE创建FOREIGN KEY约束:
- 创建FOREIGN KEY约束:
ALTER TABLE 表名
ADD FOREIGN KEY(列名) REFERENCES 表名(列名)
- 创建FOREIGN KEY约束:
ALTER TABLE 表名
ADD CONSTRAINT 约束名 FOREIGN KEY(列名) REFERENCES 表名(列名)
查看所有的约束名
SHOW INDEX FROM 表名;
删除FOREIGN KEY约束
ALTER TABLE 表名
DROP INDEX 约束名 ;