MySQL 04 高级查询(二) 文章目录MySQL 04 高级查询(二)一、学习目标二、子查询替换表连接三、IN子查询3.1.子查询返回多个结果示例:3.2.IN子查询示例13.3.in子查询示例2四、NOT IN 子查询五、EXISTS子查询六、NOT EXISTS子查询七、子查询小结八、子查询注意事项九、本章总结 一、学习目标掌握IN子查询的用法掌握EXISTS子查询掌握子查询的使用原则和注            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-21 14:59:38
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            外键的作用?
 保证数据的完整性,保证数据的安全操作.
 -- 设置外键 : 建立真正的 多对一的关系;
 -- 给从表设置外键,关联主表的主键#格式: alter table 从表 add constraint `外键名称_fk` foreign key 从表(外键) references  主表(主键);
 ALTER TABLE emp ADD CONSTRAINT `emp_dept_fk            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-12 22:38:48
                            
                                143阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 查询mysql主键表和外键关联查询
## 引言
在mysql数据库中,有时我们需要查询主键表和外键关联表的数据。本文将介绍实现这一查询的具体步骤和代码示例。
## 流程图
以下是查询mysql主键表和外键关联查询的流程图:
```mermaid
erDiagram
    CUSTOMER ||--|| ORDERS : has
```
## 步骤
1. 连接到mysql数据库。
2.            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-14 05:24:28
                            
                                213阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录一、多表操作的基本模版展示外键约束模版操作关联表模版连接查询模版子查询模版二、简单案例展示(一)两张表情况(二)三张表情况(三)多表情况(三张以上)三、注意事项一、多表操作的基本模版展示结合具体的例子,给出多表操作的通用模版,并分析每个模版的作用。外键约束模版CREATE TABLE table1 (
  id INT PRIMARY KEY,
  ...
) ENGINE=InnoDB            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-02 16:49:38
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            外键"""
把所有数据都存放与一张表的弊端:
1.组织结构不清晰
2.浪费硬盘空间
3.扩展性极差
"""
# 上述弊端产生原因类似于把所有代码写在同一个python文件中,我们常用的优化方法就是解耦合
# 如何查找表与表之间的关系
"""
以员工和部门表为例。查找表关系需要做到换位思考(站在两边去找表关系)
先站在员工表:
    找员工表的多条数据能否对应部门表的一条数据
    翻译:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 16:41:51
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            查询目标user表 role表 角色和菜单的关系 menu表 funs表(功能)表和表的关系1.
		user对role 是多对一
		role对user是一对多
		即
		一个user对应一个role 一个role 对应多个user
	
	2.
		memu和role是多对多关系
		即
		一个role对应多个menu,
		一个menu对应多个role
	
	3.
		menue对fu            
                
         
            
            
            
            前段时间去一个面试,问到我多表联查相关的,我发现自己进度不行了,最基础的都不会  今天总结多表联查!!!  【重点】:找准表与表之间的联系  【方法】  笛卡尔积:内连接:    查询两个表中符合连接条件的记录。内用得多!!!
        语法:SELECT 字段名称,...FROM tbl_name1
             INNER JOIN tbl_name2            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-12 14:10:01
                            
                                122阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.内部连接
\ 规则:返回两个表的通用记录
\ 语法:
-语法一
select *从表1的内部联接表2上的表1。公用字段=表2。公用字段
-语法二
select *从表1的约束,表2其中表1。公共字段=表2。公共字段
\ 补充:
-如何实现三表查询
从表1上的表1内部联接中选择*。表2上的公用字段。表2.公用字段内联接的表2。表2上公用字段的内联接。公用字段=表3 。共同领域
2.左外部连接
规            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-13 21:22:33
                            
                                262阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景背景一:当我们建立一个表格,其中的一项内容可以有多种选择,可以利用外键的方式绑定一个表。如下图比如我们需要建立一个employee表,其中包含很多信息,其中有一项民族可以以外键的方式绑定。接着来看一看sql语句CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '员工编号',
  `name` var            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 15:00:46
                            
                                273阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            可通过查表信息查看外键的创建信息:Show create table tablename \G; 从mysql 3.23.44开始,innodb支持外键约束,跟Oracle基本相同,语法形式如下[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_nam            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-09 20:24:59
                            
                                174阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL 增加外键关联查询
在MySQL中,我们可以使用外键关联查询来连接多个表,以便在查询结果中获取更多信息。通过外键关联,我们可以根据一个表中的数据来检索与之相关的其他表中的数据。本文将介绍如何在MySQL中创建外键关联,并提供代码示例来帮助读者更好地理解。
## 1. 什么是外键
外键是一种关系数据库中的概念,用于建立多个表之间的关联关系。它定义了一个表的字段,该字段引用了另一个            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-23 05:46:36
                            
                                46阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # MySQL表外键
在MySQL数据库中,外键是用于创建表与表之间关联关系的重要机制。外键可以确保数据的一致性和完整性,同时也方便数据之间的关联查询和操作。
## 外键的概念
外键(Foreign Key)是一种用来建立两个表之间关系的约束条件,它指定了一个表中的一个或多个列与另一个表的一个或多个列之间的关联关系。通过外键,可以保证在插入或更新数据时,子表中的外键列的值必须在主表中存在,从            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-04 04:55:15
                            
                                31阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现MySQL表外键
## 1. 整体流程
首先我们需要创建两个表,一个作为外键的主表,另一个作为外键的从表。然后在从表中添加外键约束,将从表中的外键字段与主表中的主键字段关联起来。
### 步骤表格
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 创建主表 |
| 2 | 创建从表 |
| 3 | 添加外键约束 |
## 2. 详细操作
### 步骤1:创            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-13 05:30:28
                            
                                42阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            摘要: 外键具有保持数据完整性和一致性的机制,目前MySQL只在InnoDB引擎下支持,下面实例下一个小操作来说明下外键的关联操作,用来保持数据的完整性和一致性。 
  
 外键具有保持数据完整性和一致性的机制,对业务处理有着很好的校验作用。============================白话文简介=================================user 表:id            
                
         
            
            
            
            外键
外键: foreign key ,外面的键(键不在自己表中) , 如果一张表中有一字段(非主键)指向另外一张表的主键 , 那么该字段称之为外键.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-22 23:37:36
                            
                                361阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在MySQL中,InnoDB引擎类型的表支持了外键约束,MyISAM类型暂时不支持外键。建立外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;此外,联合主键在MSSQL中建立外键会出现一些情况,不建议使用。外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。外键的定义语法:[CONSTRAINT symb            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-05 10:26:48
                            
                                304阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## MySQL四表联查的实现指南
在数据库开发中,联表查询是一个重要的操作,尤其是当你的数据分散在多个表中时。本文将带你了解如何在MySQL中进行四表联查,包括具体的步骤、代码示例和相关的流程图与状态图。
### 一、流程概述
在执行四表联查前,首先要了解需要查询的表以及它们之间的关系。下面是一个简化的流程表格:
| 步骤 | 描述            
                
         
            
            
            
            不理解的地方标注问号。网上不同的博客讲的,之间似乎有些矛盾,求推荐好书。写得不好请指出错误。父表和子表当两个表建立一对多关系的时候,"一"的那一端是父表,"多"的那一端是子表。父表设置一个主键子表设置一个外键外键与主键相关联B表引用A表的字段作为外键,那么A表是主表,B表是从表。举例:由于选课表中用到了学生表中的学生ID字段(用来与学生表进行关联,获得学生的信息),并且用到了课程表中的课程ID字段            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-19 17:42:13
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            连接查询是同时查询多张表,通过多张表之间的关系得到最终的结果。连接查询又分成内连接、外链接和自然连接。内连接:从左表中取出每一条记录,去右表中与所有的记录进行匹配;匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不保留。  注意内连接可以没有on之后的条件,此时查询的结果是笛卡尔积。外连接:以某张表为主表,取出主表中的所有记录,然后每一条记录都与另外一张表进行连接。主表中的结果将全部保            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-20 09:48:19
                            
                                43阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            – 添加外键约束 CREATE TABLE stu( sid INT PRIMARY KEY, NAME VARCHAR(50) NOT NULL ); – 添加外键约束方式一 CREATE TABLE score1( score DOUBLE, sid INT, CONSTRAINT fk_stu_score1_sid FOREIGN KEY(sid) REFERENCES stu(sid) )            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-04 01:31:23
                            
                                33阅读