两张表的属性建立‘主-外键’关系,需满足的条件:
1.两个表所使用的数据库引擎必须相同;
2.两个表的属性名称、数据类型必须一样;
建立外键有两种办法:(在此,我们假设表1为父表(主键),表2为子表(外键))
1.创建表,同时创建外键CREATE TABLE 表名2(属性1 类型1,属性2 类型2,CONSTRAINT 外键别名 FOREIGN KEY 属性1 [,属性2 ] CONFERENCES 表1(属性1[,属性2]));
2.表已经创建,且准备作为外键的属性也已经创建了,我们可以直接创建外键(一种约束关系):
ALTER TABLE 表2 ADD CONSTRAINT 外键别名 FOREIGN KEY(属性1[,属性2] REFERENCES 表1(属性1[属性2]));
子表可直接删除(DROP TABLE 表2),但由于存在联系,主表不可以直接删除,若想删除主键有两种办法:
1.直接删除子表后,再删除父表(子表数据也丢失了)
2.在子表中删除主键(指约束关系,不是属性),再删除父表(子表数据保留,只不过没有了外键)
^=^:在外键没有解除情况下,不可以直接删除子表的外键相关的属性以及父表与之相关的属性
上图,蚂蚁森林!
![](https://img.haomeiwen.com/i10974493/05eb8c8260f4ec10.png)
网友评论