〖Python 数据库开发实战 – MySQL篇?〗- 数据表的字段约束

〖Python 数据库开发实战 - MySQL篇?〗- 数据表的字段约束

前言
作者简介:渴望力量的哈士奇 大家可以叫我 哈士奇,一位致力于 TFS – 全栈 赋能的博主 br> CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主
如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦


专栏系列(点击解锁) 学习路线(点击解锁) 知识定位
Python全栈白皮书 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。
语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。
自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。
自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。
数据库开发实战篇 掌握关系型与非关系数据库知识,提升数据库实战开发能力。
爬虫入门与实战 更新中
数据分析篇 更新中
前端入门+flask 全栈篇 更新中
django+vue全栈篇 更新中
拓展-人工智能入门 更新中
网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者
网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。
vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。
shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]
WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
点点点工程师 测试神器 – Charles 软件测试数据包抓包分析神器
测试神器 – Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得!
测试神器 – Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。
RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。
Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。
MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。

〖Python 数据库开发实战 - MySQL篇?〗- 数据表的字段约束

外键约束

外键约束是用来约束多张表之间关系数据的逻辑关系,见下面两张表的示例:

“部门数据表” 如下:

deptno dname tel
10 财务部 1001
20 技术部 1002
30 销售部 1003

“员工数据表” 如下:

empno name sex deptno hiredate
1 张三 10 2012-12-12
2 李四 30 2018-08-08

按照逻辑关系来看,应该是现有部门信息,然后才是员工的记录。这里按照先后,我们会将 “部门数据表” 称之为 “父表” ,“员工信息表” 称之为 “子表” 。

根据上述的情况来看,如果我们将 “财务部” 从 “部门数据表” 中删掉了,那么 “员工信息表” 中的 “张三” 就不符合逻辑了。

有鉴于此,为了约束数据表之间的关联数据的逻辑关系,就必须要引入外界的约束了。

接下来我们就看一下外键约束的 “父表” 与 “子表” 之间的创建语句。(需要注意的是 的定义是写在子表上的!)

“部门数据表” 建表SQL语句如下:


“员工数据表” 建表SQL语句如下:

〖Python 数据库开发实战 - MySQL篇?〗- 数据表的字段约束

〖Python 数据库开发实战 - MySQL篇?〗- 数据表的字段约束

为什么放弃 “外键约束”

为什么要放弃 “外键约束” 的语法呢为在多张表之中,如果我们建立了外键约束,一但形成闭环结构,那么任何一张表的数据都是无法删除的。会非常的麻烦…嗯…超级的麻烦。

形成闭环结构之后,任何一个数据表中的数据都是无法删除的,这样的情况下,数据库就丧失了增删改查的灵活操作,所以说在创建数据表的时候一定要放弃外键约束的。

在真实的项目中,上百张数据表是很正常的,所以说不好哪张表的外键就会形成闭环,从而影响到更多的数据表。


〖Python 数据库开发实战 - MySQL篇?〗- 数据表的字段约束 商务合作 | 学习交流 | 赋能共赢 来源:不渴望力量的哈士奇

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月18日
下一篇 2022年6月18日

相关推荐