1.外键
1.1 概念:
a.什么是外键
外键约束是指有关联的两个数据表之间的跨表条件约束。
b.为什么使用外键 ?
1.保证主表和从表数据的合理性。
2.防止误删主表数据。
3.限制不合理数据插入从表。
2.2 使用外键
a.外键添加
语法:
alter table 从表 add [constraint 约束名字] foreign key (外键字段) references 主表(关联字段) [操作];
b.外键删除
语法:
alter table 从表 drop foreign key 约束名字;
c.外键高级
语法:
alter table 从表 add [constraint 约束名字] foreign key (外键字段) references 主表(关联字段)
[on delete {级别}]
[on update {级别}]
分为3个级别的操作:
1.严格限制:restrict。严格限制不允许任何操作。默认就是严格限制。
2.级联操作:cascade。主表(关联字段)更新或删除时,从表也跟着改变。
3.置NULL:set null。主表(关联字段)更新或删除时,从表置NULL。
d.外键注意事项
1. 2个表的引擎必须是InnoDB。
2. 2个表的关联字段数据类型必须一致。
3. 创建外键的字段必须是索引类型,如果不是,系统会自动创建。
4. 外键约束是可以增强数据完整性,但在做INSERT、UPDATE、DELETE时,数据库性能开销成倍增加。
5. 外键约束适用于中小应用系统。
6. 在大型应用系统中,