MySQL数据库基础——多表操作:添加与删除外键

MySQL数据库基础入门——day10

 一、外键

外键用于建立加强两个表之间的联系,引入外链后,外键只能插入参照列存在的值,参照列被参照的值不能被删除,这就保证了数据的参照完整性。

1.为表添加外键约束:

想要真正连接两个表的数据,就需要为表添加外键约束。添加外键约束的语法格式:

ALTER TABLE 表名 ADD CONSTRAINT FK_ID FOREIGN KEY(外键字段名) REFERENCES 主表表名(主键字段名);

被引用的表为主表,引用外键的表为从表。主表和从表是主从关系。

为表添加外键时,需要注意:1.建立外键的表必须是InnoDB型,不能是临时表。只有InnoDB类型的表才支持外键。2.定义外键时不能加引号。

2.添加外键约束的参数说名:

当主表被删除后从表的数据也应该删除,才能保证数据库中不会存在无意义的垃圾。所以在MySQL中可以在建立外键时添加“ON DELETE”或“ON UPDATE”子句来告诉数据库,怎样避免垃圾数据的产生。其语法格式如下:

ALTER TABLE 表名 ADD CONSTRAINT FK_ID FOREIGN KEY(外键字段名) REFERENCES 主表表名(主键字段名);

[ ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT } ]

[ ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT } ]


添加外键约束的参数说明:

3.删除外键:

在需要解除两个表之间的关联关系时,就要删除外键约束。其语法格式如下:

ALTER TABLE 表名 DROP FOREING KEY 外键名;