MySQL增删改查【进阶篇】万字图文超详细讲解(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL增删改查【进阶篇】万字图文超详细讲解(下)

4.12group by 子句查询


group by(列名) 根据行的值来进行分组,将行相同值分为一组

我们先执行group by(列名)后在执行前面的操作


88763c39e9724b20ae16b7343e7ef31d.png

我们可以执行where语句来进行条件查询

442d86acdda54f55ae4a9ae2b6123413.png


4.1.3having


having查询语句时时在group by 分组后进行条件查询
我们也可以用where 和 having来进行搭配条件查询

f0051d096e3e4dfb934cdc8a1cf068ac.png

f0a033db8fea4383b45b95a7e516d95c.png


4.2联合查询(多表查询)


实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积:

也就是将两个表每一行和另一表的每一行进行联合查询


57b73a825c6f40fd970c26d1c055c125.png

如下

c61e6ea2dd664ae5aa3f0a4c99c54100.png

在查询中我们会发现有我们不需要的数据,这样我们就可以来进行where来筛选查询

680e83993bd04695b8c1f9d4ae115261.png


4.2.1内链接

我们先创建一些表

5f02c95c950b49a6a6a6f233aa4738a4.png


我们在多表查询的会发现有很多数据时多余的


847a2c38a64a4199ba381e058043351b.png


例如我们可来查询许仙的成绩


b34f692f212f4c3ba076910c83a3cf9d.png


利用select 列名,列名from(表名)join(表名) on 条件
join on 和where 应用类似(join on了解即可,一般我们使用两个表查询情况下更多会使用where)


f9fb16f345114e7fbcb9ea5bd3e632af.png

我们来进行多表查询


2f09efd04687478c851253b813756250.png

rom 表名 join 表名 on 条件 join 表名 on 条件


062f90b86d8f47c0b15165ffc34e6c64.png


4.2.2外连接


我们发现join on 这个条件很麻烦,容易出错

其实我们可以用join on来构造其他链接

select 列名,列名from(表名) inner join(表名) on 条件

select 列名,列名from(表名) left join(表名) on 条件

select 列名,列名from(表名) right join(表名) on 条件

我们来创建两个列与列没有相关联的表


8b8070fcd0a5483ead2f2bcd38d94cd8.pngfdc42ede8d70485f859c176245830782.png

当我们进行联合查询


99e2df247f14402bac12dbe63dd584ee.png


当我们进行where语句查询后会发现我们有一些需要的数据会丢失

8c00fc28c9a043519a2f8a28a73d0409.png

select 列名,列名from(表名) left join(表名) on 条件

我们进行做查询之后jiukey 找到我们需要的数据了

81b036dc91614382ac2c75f9e32a53aa.png

select 列名,列名from(表名) right join(表名) on 条件**

与左链接同理

572efa9327024c839c5d7ad788b4b301.png


我们发现内连接和外连接是有表与表的结构不同

如图1.内2.左外3.右外


5cab5ccf4e1f4360b10f5875a42c1adf.png


4.2.3自连接(了解)


自连接是将本身一张表进行行和行转化成列联合查询


f95e6dee17634aa88169c54a5b322800.png

同理可以根据where语句进行查询来减少多余数据得到我们想要得到想要的数据

3fc2b557f3f844178166e44f223fb98c.png


4.2.4合并查询


我们将两个select查询用 union 来进行合并查询

union all是不去重的,我们了解就可以了


fe6673307ee14ecb94e701257b9b6130.png


当我们在一张表进行查询可以用or

a551036896b04d38a7a4eb7cf8f8c08b.png

五.内容总结


约束类型

 not null - 指示某列不能存储 null值。
 unique - 保证某列的每行必须有唯一的值。
 default - 规定没有给列赋值时的默认值。
 primary key - 是 (not null  和 unique )的结合确保某列(或两个列多个列的结合)有唯一标识有助于更容易更快速地找到表中的一个特定          的记录。
 foreign key - 保证一个表中的数据匹配另一个表中的值的参照完整性。
 check - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。

聚合查询

*函数                                          说明
COUNT(expr)                            返回查询到的数据的 数量
SUM(expr)                       返回查询到的数据的 总和,不是数字没有意义
AVG(expr)                      返回查询到的数据的 平均值,不是数字没有意义
MAX(expr)                      返回查询到的数据的 最大值,不是数字没有意义
MIN(expr)                      返回查询到的数据的 最小值,不是数字没有意义


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL】基本查询(表的增删改查)-- 详解(上)
【MySQL】基本查询(表的增删改查)-- 详解(上)
|
13天前
|
关系型数据库 MySQL Java
Servlet+MySQL增删改查 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/1391
对于任何项目开发,创建,读取,更新和删除(CRUD)记录操作是应用程序的一个最重要部分。
52 20
|
5月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
69 0
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
69 1
|
2月前
|
关系型数据库 MySQL
MySQL表的增删改查(基础篇详细详解)
MySQL表的增删改查(基础篇详细详解)
43 5
|
2月前
|
关系型数据库 MySQL 数据库
mysql的增删改查
本文介绍了MySQL数据库中进行增删改查操作的基本语法和注意事项,包括如何添加、修改和删除数据。
54 2
|
4月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
89 3
|
4月前
|
关系型数据库 MySQL 大数据
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
272 2
|
4月前
|
关系型数据库 MySQL 数据库
MySQL数据库的增删改查
MySQL数据库的增删改查
23 0