测试管理班是专门面向测试与质量管理职员的一门课程,通过提升从业职员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理职员可以更好的带领团队、项目以及公司得到更快的发展。供应 1v1 私教辅导,BAT 级别的测试管理大咖量身打造职业方案。
简介外键约束(FOREIGN KEY,缩写 FK)是用来实现数据库表的参照完全性的。它是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须且有主键约束或者唯一约束。被依赖的表常日称之为父表或者主表,设置外键约束的表称为子表或从表。
干系观点主键:可以唯一标识一条记录的列外键:从表中与主表的主键对应的字段主表:外键所指向的表,约束其他表的表从表:外键所在的表,被约束的表代价:建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的同等性和完全性建立外键约束创建表时添加外键约束:CONSTRAINT [外键约束的名称] FOREIGN KEY (外键字段) REFERENCES [主表名称(主键字段)]添加外键约束:ALTER TABLE [表名] ADD CONSTRAINT [外键约束的名称] FOREIGN KEY [外键字段] REFERENCES [主表名称(主键字段)]
sql#创建一个关联到主表的从表CREATETABLEemp_part(emp_idINTPRIMARYKEYAUTO_INCREMENT,enameVARCHAR(20),ageINT,genderVARCHAR(10),dept_idINT,-- 添加外键约束CONSTRAINTemp_deptFOREIGNKEY(dept_id)REFERENCESdept(id));#插入一条造孽数据INSERTINTOemp_partVALUES(1,'cindy',20,'female','4')
删除外键约束语法:
``` ALTER TABLE [表名] DROP FOREIGN KEY [外键约束名称] ```
把稳事变从表外键数据类型必须与主表的主键同等删除数据时,需先删除从表数据再删除主表的数据添加数据时先添加主表数据,再添加从表数据
sql#删除外键约束ALTERTABLEemp_partDROPFOREIGNKEYemp_dept#插入一条造孽数据INSERTINTOemp_partVALUES(1,'cindy',20,'female','4')SELECTFROMemp_part#向主表中插入一条数据INSERTINTOdeptVALUES(2,'运营部','张三','北京')#向从表中插入一条数据INSERTINTOemp_partVALUES(1,'cindy',20,'female','2')#删除主表中的数据DELETEFROMdeptWHEREid=2
级联删除删除主表数据的同时,也删除掉从表中干系的数据ON DELETE CASCADE
sql#创建员工信息表并添加级联删除的外键约束CREATETABLEemp_part(emp_idINTPRIMARYKEYAUTO_INCREMENT,enameVARCHAR(20),ageINT,genderVARCHAR(10),dept_idINT,-- 添加外键约束CONSTRAINTemp_deptFOREIGNKEY(dept_id)REFERENCESdept(id)-- 设置许可级联删除ONDELETECASCADE);#向员工信息表中添加一条数据INSERTINTOemp_partVALUES(1,'cindy',20,'female','2')#删除主表中部门id=2的部门DELETEFROMdeptWHEREid=2#查看从表中的数据是否同时被删除SELECTFROMemp_part
总结
SQL 中的外键约束是一种参照完全性约束,它用于确保两个表之间的数据同等性,构建了一种父子关系。当在子表中插入或更新数据时,外键约束确保所供应的外键值必须在父表的相应主键或唯一键值范围内。如果父表中不存在相应的值,则操作将失落败,从而确保了数据的完全性和同等性。