MYSQL数据库-基本操作(下)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: MYSQL数据库-基本操作(下)

4、筛选分页结果

  • 语法:
-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;  


建议:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死


  • 示例:按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3 页

image-20220808215409747.png


三、Update


  • 语法:
UPDATE table_name SET column = expr [, column = expr ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...]


对查询到的结果进行列值更新


  • 示例:
  1. 将孙悟空同学的数学成绩变更为 80 分

image-20220808220300162.png

  1. 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

image-20220808220637951.png

  1. 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

image-20220808221013848.png

  1. 将所有同学的语文成绩更新为原来的 2 倍

image-20220808221212865.png

注:更新全表的语句慎用


四、Delete


1、删除数据

  • 语法:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]


  1. 删除孙悟空同学的考试成绩

image-20220808221708655.png

  1. 删除整张表数据

image-20220808222045595.png

注:删除整表操作要慎用


2、截断表

  • 语法:
TRUNCATE [TABLE] table_name


  • 注意:
  1. 只能对整表操作,不能像 DELETE 一样针对部分数据操作
  2. 实际上 MySQL 不对数据操作,所以比 DELETE 更快,但是TRUNCATE在删除数据的时候,并不经过真正的事物,所以无法回滚
  3. 会重置 AUTO_INCREMENT 项

image-20220808222445948.png


五、插入查询结果


  • 语法:
INSERT INTO table_name [(column [, column ...])] SELECT ...


  • 示例:删除表中的的重复复记录,重复的数据只能有一份

image-20220808225329599.png


六、聚合函数


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


  • 示例:
  1. 统计班级共有多少同学;统计班级收集的 qq 号有多少

image-20220808230337948.png

  1. 统计本次考试的数学成绩分数个数

image-20220808230453818.png

  1. 统计数学成绩总分

image-20220808230525453.png

  1. 统计平均总分

image-20220808230624567.png

  1. 返回英语最高分

image-20220808230659594.png

  1. 返回 > 70 分以上的数学最低分

image-20220808230810675.png


七、group by


在select中使用group by 子句可以对指定列进行分组查询

select column1, column2, .. from table group by column;
  • 示例:

准备工作,创建一个雇员信息表(来自oracle 9i的经典测试表)

EMP员工表

DEPT部门表

SALGRADE工资等级表


  1. 显示每个部门的平均工资和最高工资
select deptno,avg(sal),max(sal) from EMP group by deptno;


  1. 显示每个部门的每种岗位的平均工资和最低工资
select avg(sal),min(sal),job, deptno from EMP group by deptno, job;


  1. 显示平均工资低于2000的部门和它的平均工资
select avg(sal) as myavg from EMP group by deptno having myavg<2000;
-- having和group by配合使用,对group by结果进行过滤
-- having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where  


门的平均工资和最高工资

select deptno,avg(sal),max(sal) from EMP group by deptno;


  1. 显示每个部门的每种岗位的平均工资和最低工资
select avg(sal),min(sal),job, deptno from EMP group by deptno, job;


  1. 显示平均工资低于2000的部门和它的平均工资
select avg(sal) as myavg from EMP group by deptno having myavg<2000;
-- having和group by配合使用,对group by结果进行过滤
-- having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where  


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
SQL 关系型数据库 MySQL
MySQL数据库——DML基本操作
本文介绍了MySQL中的DML基本操作,包括查询、插入、更新和删除数据。查询数据使用SELECT语句,插入数据用INSERT INTO,更新数据则依靠UPDATE,而删除数据需用DELETE FROM。这些操作是数据库管理的关键,有效提升数据处理效率和准确性。理解并熟练运用这些语句是确保数据一致性和安全性的基础。参考文献包括MySQL官方文档和W3Schools的MySQL教程。
139 2
|
5月前
|
存储 SQL 关系型数据库
2:数据库的基本操作-MySQL
2:数据库的基本操作-MySQL
42 0
|
8月前
|
SQL 存储 关系型数据库
MySQL的基本操作及实用示例(面试真题老实用了)
在MySQL中,行转列是指将数据表的行转换为列,以实现数据在视图中的重组和重塑。通常,行转列用于将多行数据合并为一行,并将多个列值作为新的列。行转列可以使用多种方法实现,包括使用聚合函数、条件筛选和透视(PIVOT)表等。以下是一些常见的行转列方法:1.使用聚合函数可以使用聚合函数如等对数据进行聚合,并使用CASE语句根据条件选择和返回不同的列值。以将不同的行值转换为列值。2.使用条件筛选可以使用条件判断语句,如IF语句或CASE语句。
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据库---库基本操作 以及 表结构的操作(DDL)
MySQL数据库---库基本操作 以及 表结构的操作(DDL)
88 3
|
4天前
|
关系型数据库 MySQL 数据库
【MySQL探索之旅】数据库的基本操作
【MySQL探索之旅】数据库的基本操作
|
5天前
|
关系型数据库 MySQL
Mysql单表查询的基本操作
Mysql单表查询的基本操作
|
3月前
|
SQL 关系型数据库 MySQL
mysql数据库日常 ---mysql数据库基本操作
mysql数据库日常 ---mysql数据库基本操作
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——DML基本操作
MySQL数据库——DML基本操作
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——DDL基本操作
MySQL数据库——DDL基本操作
|
4月前
|
存储 SQL 关系型数据库
『 MySQL数据库 』数据库基础之表的基本操作
『 MySQL数据库 』数据库基础之表的基本操作