MySQL【知识改变命运】06

前言:在05这节数据结构里面,我们知道select * from 这个操作很危险,如果数据库很大,会把服务器资源耗尽,接下来提到的查询可以有效的限制返回记录

1:分页查询

分页查询可以有效控制一次查询出来的结果集的记录条数,可以有效缓解减少数据库服务的压力,对用户也很好

1.1:语法:加粗样式

-- 起始下标为 0
-- 从 0 开始,筛选 num 条结果
select from table_name [where...] [order by] limit num;
-- 从 start 开始,筛选 num 条结果
select from table_name [where...] [order by] limit start,num;
-- 从 start 开始,筛选 num 条结果,⽐第⼆种⽤法更明确,建议使⽤
select from table_name [where...] [order by] limit num offset start;

1.2:练习

限制两条,从第0条开始,只取前两条记录
在这里插入图片描述
在这里插入图片描述

限制两条,从第 2 条开始,只取前两条记录

在这里插入图片描述
注意:这里不是从条开始计数,而是从第零条,类似于数组

如果我们超过了表中的范围,会返回空结果集
在这里插入图片描述

limit start,num;
num offset start;
这两条语句表达效果一样

在这里插入图片描述
用页数查找
这里数据我们一共有 9条
在这里插入图片描述
页数=总页数/每页条数,如果有余数则+1;
根据页数计算起始的位置
srart从0开始,start=(页数-1)*每页显示1的记录数;
这个表一共有5页
查看第一页数据:
在这里插入图片描述
查看第三页数据:
在这里插入图片描述
查看最后一页:
在这里插入图片描述
最后一页,有几条数据就都几条

2Update 修改

2.1:语法

UPDATE [LOW_PRIORITY] [IGNORE] table_referenceSET assignment [, assignment] ...[WHERE where_condition][ORDER BY ...][LIMIT row_count]

对符合条件的结果进⾏列值更新
update 表名 set 列名 =值…;

2.2:练习

将孙悟空同学的数学成绩变更为 80 分
在这里插入图片描述

在这里插入图片描述
2条数据被影响,匹配两条记录,2条被更改。
将曹孟德同学的数学成绩变更为 60 分,语⽂成绩变更为 70 分
在这里插入图片描述
将总成绩前三的 3位同学的数学成绩加上 10 分
原表数据
在这里插入图片描述
排名
在这里插入图片描述
修改:

在这里插入图片描述
修改成功后查询
在这里插入图片描述

将所有同学的语⽂成绩更新为原来的 +10分
在这里插入图片描述

在这里插入图片描述

Update 注意事项
• 以原值的基础上做变更时,不能使⽤math += 30这样的语法
• 不加where条件时,会导致全表数据被列新,谨慎操作

3:Delete 删除

3.1:语法

 DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

3.2:练习

删除孙悟空同学的考试成绩
原表:
在这里插入图片描述
删除后的表:
在这里插入图片描述
delete不加条件限制很危险
在这里插入图片描述
删掉表中的全部内容;
在这里插入图片描述

在这里插入图片描述

4:小总结

新增:insert into 表名
查询:select 列名 from 表名
修改:update 表名
删除:delete from 表名

insert ,update ,delete
执行成功返回的是受影响的行数(整数)
select
执行成功之后返回的是一个结果集(集合)

5:截断表

5.1:语法

1 TRUNCATE [TABLE] tbl_name

创建一个表
在这里插入图片描述
在这里插入图片描述
我们删除所有数据后,再次写入新的值,我们看看有什么效果
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们会发现,自增会从表记录中的值开始填充

执行截断操作:

在这里插入图片描述
我们再加入数据:
在这里插入图片描述

在这里插入图片描述
表回到了最初的创建时候状态
自增id也会从0开始

6:插入查询结果

6.1:语法:

INSERT INTO table_name [(column [, column ...])] SELECT ...

6.2:练习:

删除表中的重复记录,重复的数据只能有⼀份
创建一个表

在这里插入图片描述
**实现思路:**原始表中的数据⼀般不会主动删除,但是真正查询时不需要重复的数据,如果每次查询
都使⽤DISTINCT进⾏去重操作,会严重效率。可以创建⼀张与 t_recored 表结构相同的表,把
去重的记录写⼊到新表中,以后查询都从新表中查,这样真实的数据不丢失,同时⼜能保证查询效

创建一个新表:
在这里插入图片描述
这里有个小技巧:
语法:

create table new_table like old_table

可以创建一个相同的表结构的新表;
数据不会导入。
在这里插入图片描述

将去重的数据放入新表中:
在这里插入图片描述

7:聚合函数

7.1:语法

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

7.1练习:

7.1.1:COUTN

• 统计exam表中有多少记录**
原表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
以上有三种查询方式,'* ’ ,常数,列,如果求数据行数条数,建议用 ‘ * ’,如果用列求,他会自动忽略NULL值行。
列查询中:普通列不及主键列效率高;

在这里插入图片描述
统计语⽂成绩⼩于50分的学⽣个数
在这里插入图片描述

7.1.2:SUM

• 统计所有学生数学成绩总分**
在这里插入图片描述
统计所有学生英语成绩总分:
在这里插入图片描述
注意一下啊:所求得和会忽略列值为NULL的值
不能统计非数值的列
在这里插入图片描述
虽然没有报错,但是不符合预期。

7.1.3 :AVG

• 统计英语成绩的平均分
在这里插入图片描述
• 统计平均总分
在这里插入图片描述
补充小点:
语法:

ROUND(原来小数,小数点后位数)

在这里插入图片描述
在这里插入图片描述

7.1.4:MAX和MIN

• 查询英语最⾼分
在这里插入图片描述
如果我们把所有值改为NULL呢?
在这里插入图片描述
查看英语最低分:
在这里插入图片描述
查询 > 70 分以上的数学最低分
在这里插入图片描述
查询数学成绩的最⾼分与英语成绩的最低分
在这里插入图片描述
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2he8rojhlpicc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56887.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CTF刷题9】2024.10.19

[MoeCTF 2021]babyRCE 考点&#xff1a;关键词过滤&#xff08;绕过方法参考往期博客&#xff09; 来源&#xff1a;nssctf <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\&g…

图像中的数值计算

目录 图像读取与形状图像数据展示图像数据操作超出范围的像素值处理 图像读取与形状 使用cv2.imread函数读取图像文件。图像的形状通过shape属性获取&#xff0c;格式为(高度, 宽度, 颜色通道数)。 import cv2img1 cv2.imread(bg.jpg) img2 cv2.imread(fish.jpg)print(img1…

Linux服务器安装SRAToolkit教程

SRAToolkit是由NCBI&#xff08;美国国家生物技术信息中心&#xff09;提供的一个工具集&#xff0c;用于下载、读取和转换SRA&#xff08;Sequence Read Archive&#xff09;格式的数据文件。这些数据文件包含了大规模的核酸序列数据&#xff0c;对于基因组学研究至关重要。本…

pytorch激活函数介绍

在 PyTorch 中,激活函数(Activation Functions)是神经网络中重要的非线性组件,用于引入非线性,使网络能够学习复杂的函数关系。以下是 PyTorch 中常见的激活函数及其特点: 1. ReLU (Rectified Linear Unit) 函数: torch.nn.ReLU()公式: ReLU(x)=max⁡(0,x)特点: 常用于隐…

python-代码技巧

python-代码技巧 简单tips1、多个列表循环遍历2、使用map对列表中多个文件进行批量操作 仅个人笔记使用&#xff0c;感谢点赞关注 简单tips 1、多个列表循环遍历 dataTypes ["train","test"] dataStations ["1","2","3"…

【C语言】自定义类型:结构体--结构体内存对齐(用于计算结构体的大小)

结构体内存对齐 结构体内存对齐用于计算结构体的大小。 &#xff08;1&#xff09;对齐规则 1&#xff09;&#xff09;结构体的第一个成员对齐到和结构体变量起始位置偏移量为0的地址处。 2&#xff09;&#xff09;其他成员变量要对齐到某个数字&#xff08;对齐数&#…

FFmpeg 4.3 音视频-多路H265监控录放C++开发四 :RGB颜色

一 RGB 的意义&#xff1f; 为什么要从RGB 开始讲起呢&#xff1f; 因为最终传输到显卡显示器的颜色都是RGB 即使能处理YUV的API&#xff0c;本质上也是帮你做了从 YUV 到 RGB的转换。 RGB888 表示 R 占8bit&#xff0c;G 占8bit&#xff0c;B 占8bit&#xff0c;也就是每一…

Gin框架操作指南10:服务器与高级功能

官方文档地址&#xff08;中文&#xff09;&#xff1a;https://gin-gonic.com/zh-cn/docs/ 注&#xff1a;本教程采用工作区机制&#xff0c;所以一个项目下载了Gin框架&#xff0c;其余项目就无需重复下载&#xff0c;想了解的读者可阅读第一节&#xff1a;Gin操作指南&#…

手撕布隆过滤器:原理解析与面试心得

前言 说来话长&#xff0c;话来说长。前些天我投了一些日常实习的简历&#xff0c;结果足足等了两个礼拜才收到面试通知&#xff0c;看来如今的行情确实是挺紧张的。当时我是满怀信心去的&#xff0c;心想这次一定要好好拷打面试官一番&#xff0c;结果没想到&#xff0c;自我…

腰背肌筋膜炎有哪些治疗方法

腰背肌筋膜炎主要表现为腰背部的疼痛、酸胀、僵硬、活动受限等症状。在疾病初期&#xff0c;症状可能相对较轻&#xff0c;通过休息、保暖、适当的物理治疗等&#xff0c;往往可以缓解症状&#xff0c;此时病情不算严重。如果患者不重视&#xff0c;继续保持不良的生活习惯&…

微服务架构 --- 使用RabbitMQ进行异步处理

目录 一.什么是RabbitMQ&#xff1f; 二.异步调用处理逻辑&#xff1a; 三.RabbitMQ的基本使用&#xff1a; 1.安装&#xff1a; 2.架构图&#xff1a; 3.RabbitMQ控制台的使用&#xff1a; &#xff08;1&#xff09;Exchanges 交换机&#xff1a; &#xff08;2&#…

什么是不同类型的微服务测试?

大家好&#xff0c;我是锋哥。今天分享关于【什么是不同类型的微服务测试&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 什么是不同类型的微服务测试&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 微服务架构中的测试可以分为多种类…

WPF基础权限系统

一.开发环境 VisualStudio 2022NET SDK 8.0Prism 版本 8.1.97Sqlite 二. 功能介绍 WPF 基础权限系统&#xff0c;是一个支持前后端分离设计的 客户端(C/S)项目&#xff0c;该示例项目前端xaml使用UI库 &#xff0c;Material Design Themes UI 来构建用户界面&#xff0c;确保…

【into outfile写文件】

简介 select * from user into outfile C:/Users/ichunqiu/Desktop/PhpStudy2018/PHPTutorial/WWW/1.txt;用法的意思就是把user表中查询到的所有字段都导出到1.txt文件中 我们之前还有学到dumpfile&#xff0c;单是它只能导出一条数据 写入shell 测试注入点 usernameadmin&…

【工具】使用perf抓取火焰图

背景 当程序存在cpu性能问题时&#xff0c;我们需要找到是哪个函数占用较多的CPU&#xff0c;也就是找出热点函数&#xff1b;perf的火焰图就是这个用途 安装 在Linux系统中&#xff0c;perf 是 Linux 内核提供的性能分析工具&#xff0c;它通常包含在内核源代码包中。大多数…

编码方式知识整理【ASCII、Unicode和UTF-8】

编码方式 一、ASCII编码二、Unicode 编码三、UTF-8编码四、GB2312编码五、GBK编码 计算机中对数据的存储为二进制形式&#xff0c;但采用什么样的编码方式存储&#xff0c;效率更高。主要编码方式有 ASCII、Unicode、UTF-8等。 英文一般为1个字节&#xff0c;汉字一般为3个字节…

Linux 线程互斥

1.相关背景概念 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源 临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区 #include <iostream> #include <pthread.h> #include <string> #include <vector…

mac安装jdk8

这里写自定义目录标题 一、下载JDK8二、安装JDK8三、配置环境变量3.1 找到JDK安装目录3.2 打开终端&#xff1a;3.3 输入如下配置&#xff1a;3.3 查看配置是否成功&#xff1a; 一、下载JDK8 oracle官网下载或从下面链接获取 https://download.csdn.net/download/qq_44107684…

【小沐学Golang】基于Go语言搭建静态文件服务器

文章目录 1、简介2、安装2.1 安装版2.2 压缩版 3、基本操作3.1 go run3.2 go build3.3 go install3.4 go env3.5 go module 4、文件服务器4.1 filebrowser4.2 gohttpserver4.3 goFile 5、FAQ5.1 go.mod 为空5.2 超时 结语 1、简介 https://golang.google.cn/ Go语言诞生于2007…

day02 -- docker

1.docker的介绍 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使…