持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情
大家好! 我是慕歌,一只想教你学习 后端技术的野生coder! 欢迎来到慕歌的数据库系列教程,希望通过这个教程带大家深入学习数据库技术,该教程所有知识点均来源于本人的日常学习与开发中,如有疑问请与我联系!
前言
在上一节的分享中,慕歌向大家分享关于数据库子查询的知识,子查询用于处理数据的复杂逻辑。子查询通过据多个数据表的数据,进行处理得到最终的数据,简单子查询是将一个数据表的数据作为另一个表的来源,进行分析约束。通过灵活利用子查询的查询数据,可以将其作为条件或是约束来使用,进行比较或是分组运算。
注意,当然也并不是意味着在任何时刻都需要子查询,子查询的效率也是需要考量的,它的执行时间效率会呈现几何倍数的快速增长,对于数据访问是及其不友好的。在能够进行连接优化,或者是关联查询的时候,选择性能更佳的方案进行执行是必要的。
那么查询章节的学习,在上一节就算是暂时的结束了,接下的内容将会对数据库的设计,以及原理进行解析。剖析数据库的设计规则,设计理念,以及想要达成的效果是需要我们考量的。
数据约束
约束概述:
在使用数据库的过程中,我们常常会出现一些不合理的地方,这种不合理是数据库所不知道的,但是又真实存在的。那么作为严谨的关系数据库,这种情况是一定不被接受的,那么在数据库设计的开端,我们就需要对这种不合理加以约束,杜绝该种情况的出现。由此数据库约束诞生,它在数据表建立的时候就对数据关系,或是数据本身做出了约束规范。
约束的设计目的:
约束分类:
根据约束的限制:
- 单列约束:对一列的数据进行约束
- 多列约束:多列的数据同时约束
约束的作用范围:
- 列级约束:作用一个列之上
- 表级约束:作用在多个列上
约束的作用:
- 非空约束:要求数据不能为空
- 唯一约束:要求数据唯一性,整个表中唯一
- 主键约束:非空且唯一
- 外键约束:具有外键关联数据
- 检查约束:检查数据是否满足某种规则
- 默认约束:默认自定义约束
查询该数据表的约束:
#数据库名
#表名称
SELECT * FROM information_schema.table_constraints
WHERE table_name = '表名称';
结语
这一章的分享到这里就结束了,下一节将带来数据库约束的实战分享学习!
如果您觉得本文不错,欢迎点赞支持,您的关注是我坚持的动力!