数据库
文章平均质量分 78
YXXYX
精通CV编程
展开
-
小感悟:多对多关系,一定要创建关系表吗?
初学数据库时,如果出现多对多关系,那么就需要额外创建一个关系表,将两边的外键存入,以此建立连接;但是遇到多对多关系,一定需要创建关系表吗?就好比数据库范式在一些情况下会故意违背产生数据冗余一样,规矩是死的,业务是灵活的,所以在出现多对多的情况下需要考虑清楚是否真的有必要创建关系表;在阿里巴巴开发手册中有这样一个规范:这就限制了三个表的连接查询,所以在设计表中很多大厂会避免各个表之间有太多的连接关系,因为这样·会使得业务变得复杂,并且会影响查询性能;但是这是阿里的一个规范,还是要根据自己实际业务来进行一个判断原创 2022-06-14 11:32:58 · 2503 阅读 · 2 评论 -
MySQL中的列转行和行转列
引言在学习sql中遇到了列转行和行转列的题目,这里总结一下如何在对应的情景下解决不同的题目;列转行创建一个表stu_score_01:SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for stu_score_01-- ----------------------------DROP TABLE IF EXISTS `stu_score_01`;原创 2022-04-16 07:00:00 · 2683 阅读 · 5 评论 -
数据库表关系详解(一对多、一对一、多对多)
引言在数据库中,单表的操作是最简单的,但是在实际业务中最少也有十几张表,并且表与表之间常常相互间联系;一对多、一对一、多对多是表与表之间的常见的关系,初学时在多表连接时会纠结如何写对应的Sql语句,下面就分享一些小技巧;一对多一对多是最基础的表间关系,意思是一张表A中的一条记录可以对应另一张表B中的多条记录,另一张表B中的一条记录只能对应一张表A中的一条记录举个一对多的例子:有两张表,表A:学生表student(子表)id name class_id(外键非空:班级id)100原创 2022-03-13 07:30:00 · 58897 阅读 · 13 评论 -
MySql连接查询——内连接与外连接
引言实际业务开发中,往往会涉及到多张表之间的数据交互,这时候单表查询已经不能满足复杂的业务需求了,所以就需要用到多表的连接查询;连接查询主要分为以下三种:内连接等值连接非等值连接自连接外连接左外连接右外连接全连接其中常用的就是内连接和外连接,全连接用处很少,几乎不用,所以这里就不介绍了;数据库表传送门下面示例将会用到三张表:emp员工表+-------+--------+-----------+------+------------+---------+----原创 2022-03-05 07:30:00 · 3366 阅读 · 13 评论