建立数据库的六个步骤 mysql怎么设置外键?
浏览量:2908
时间:2021-03-14 20:55:22
作者:admin
mysql怎么设置外键?
外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性。
优点:
- 精简关联数据,减少数据冗余避免后期对大量冗余处理的额外运维操作。
- 降低应用代码复杂性,减少了额外的异常处理相关数据管理全由数据库端处理。
- 增加文档的可读性特别是在表设计开始,绘制 ER 图的时候,逻辑简单明了,可读性非常强。
- 缺点:
- 性能压力外键一般会存在级联功能,级联更新,级联删除等等。在海量数据场景,造成很大的性能压力。比如插入一条新记录,如果插入记录的表有 10 个外键,那势必要对关联的 10 张表逐一检查插入的记录是否合理,延误了正常插入的记录时间。并且父表的更新会连带子表加上相关的锁。
- 其他功能的灵活性不佳比如,表结构的更新等。
外键参照动作列表:
- CASCADE:级联,子表跟随父表更新外键值
- SET NULL:子表更随主表更新外键值为 NULL
- RESTRICT/ NO ACTION:默认,限制父表改动外键值
- SET DEFAULT:目前产生的效果和 RESTRICT 相同。
mysql怎么查看表是否设置了外键?
#查看数据库所有表SELECT tba.TABLE_NAME FROM information_schema.TABLES tba WHERE tba.TABLE_SCHEMA= "你要查的数据库名字"#查看某个库中的一个表是哪些表的外键SELECT TABLE_NAME FROM KEY_COLUMN_USAGE WHERE CONSTRAINT_NAME="FK_PRODUCT_ID" AND REFERENCED_TABLE_NAME ="表的名字"AND REFERENCED_TABLE_SCHEMA="表的的数据名字"
建立数据库的六个步骤 mysql中设置外键的语法 mysql创建表怎么设外键
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
细菌英文单词怎么说 英文翻译器
下一篇
实时在线统计 实时数据库