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 外键名;