🔥个人主页:寻星探路

🎬作者简介:Java研发方向学习者

📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、 《JAVA(SE)----如此简单!!!》、《数据库那些事!!!》

⭐️人生格言:没有人生来就会编程,但我生来倔强!!!


目录

一、Retrieve 检索

 1、分页查询

1.1语法

1.2示例

 二、Update修改

1、语法

2、示例

三、Delete 删除

1、语法

2、示例

四、截断表

1、语法

2、示例

3、Truncate注意事项


续接上一话:

一、Retrieve 检索

 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示例

# 查询第⼀⻚数据
select * from exam order by id asc limit 0, 3;

# 查询第⼆⻚数据
select * from exam order by id asc limit 3, 3;

 # 查询第三⻚数据,没有达到limit的条数限制,也不会有任何影响,有多少条就显⽰多少条
select * from exam order by id asc limit 6, 3;

 二、Update修改

        这是真正在修改数据库的原始数据!!!

1、语法

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

#注:

(1)对符合条件的结果进行列值更新

(2)要先查找,找到之后再进行修改

2、示例

        将孙悟空同学的数学成绩变更为80分

# 查看原始数据
select * from exam where name = '孙悟空';

# 更新操作
update exam set math = 80 where name = '孙悟空';
# 查看结果,数学成绩更新成功
select * from exam where name = '孙悟空';

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

 # 查看原始数据
select name, math, chinese from exam where name = '曹孟德';

# 更新操作
update exam set math = 60, chinese = 70 where name = '曹孟德';
# 查看结果
select name, math, chinese from exam where name = '曹孟德';

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

# 查看原始数据
select name, math,chinese + math + english as 总分 from exam where chinese + math + english is not null order by 总分 asc limit 3;

# 更新操作
update exam set math = math +30 where chinese + math + english is not null order by chinese + math + english asc limit 3;
# 查看结果
select name, math, chinese + math + english as 总分 from exam where name in ('宋公明','刘⽞德','曹孟德');

# 修改后总成绩倒数前三的 3 位同学和数据成绩
select name, math,chinese + math + english as 总分 from exam where chinese + math + english is not null order by 总分 asc limit 3;

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

# 查看原始数据
select * from exam;

# 更新操作
update exam set chinese = chinese * 2;
# 查看结果
select * from exam;

#注:

(1)以原值的基础上做变更时,不能使用math+=30这样的语法

(2)不加where条件时,会导致全表数据被更新,谨慎操作

三、Delete 删除

        drop 删库,删表.
        delete 删记录/删行

1、语法

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

2、示例

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

# 查看原始数据
select * from exam where name = '孙悟空';

# 删除操作
delete from exam where name = '孙悟空';
# 查看结果
select * from exam where name = '孙悟空';

        删除整张表数据

# 准备测试表
CREATE TABLE t_delete (id INT,name VARCHAR(20)
);
# 插⼊测试数据
INSERT INTO t_delete (id, name) VALUES (1, 'A'), (2, 'B'), (3, 'C');
# 查看测试表
select * from t_delete;

# 删除整张表中的数据
delete from t_delete;
# 查看结果
select * from t_delete;

3、Delete注意事项

        执行Delete时不加条件会删除整张表的数据,谨慎操作

四、截断表

        截断表,更快速更高效的删除表操作,直接站在文件的角度,把表对应的文件内容清空了,只能删全表(不能指定条件,删除某个部分)

1、语法

TRUNCATE [TABLE] tbl_name

2、示例

# 准备测试表
CREATE TABLE t_truncate (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20));
# 插⼊测试数据
INSERT INTO t_truncate (name) VALUES ('A'), ('B'), ('C');
# 查看测试表
select * from t_truncate;

# 查看建表结构,AUTO_INCREMENT= 4
show create table t_truncate;

# 截断表,注意受影响的⾏数是0
truncate table t_truncate;
# 查看表中的数据
select * from t_truncate;

# 查看表结构,AUTO_INCREMENT已被重置为0
show create table t_truncate\G

# 继续写⼊数据
INSERT INTO t_truncate (name) VALUES ('D');
# ⾃增主键从1开如计数
select * from t_truncate;

# 再次查看表结构,AUTO_INCREMENT=2
show create table t_truncate;

3、Truncate注意事项

(1)只能对整表操作,不能像DELETE⼀样针对部分数据

(2)不对数据操作所以比DELETE更快,TRUNCATE在删除数据的时候,不经过真正的事物,所以无法回滚

(3)会重置AUTO_INCREMENT项

        由于内容较多,会分为多篇讲解,预知后续内容,请看后续博客!!!

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

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

相关文章

AWS SQS 可观测性最佳实践

AWS SQS AWS SQS(Amazon Simple Queue Service)是一种完全托管的消息队列服务,用于在分布式系统中解耦和缓冲消息。它支持高可用性、可扩展性和安全性,能够处理大量消息,确保消息的可靠传输和顺序性。开发者可以轻松集…

AI推理范式:从CoT到ReAct再到ToT的进化之路

在人工智能领域,如何让模型像人类一样进行复杂推理和问题解决,一直是核心挑战。近年来,思维链(Chain-of-Thought, CoT)、推理与行动(ReAct) 和 思维树(Tree-of-Thoughts, ToT&#x…

2025时序数据库选型:深入解析IoTDB从主从架构基因到AI赋能的创新之路

原创经验总结,拒绝空谈,用数据和实战说话 时序数据时代的"四重考验" 在智慧工厂、新能源车、金融市场等场景中,每秒百万级的数据点如潮水般涌来。这些时序数据背后隐藏着四大核心挑战:极高的写入并发、强时间关联性查询、海量数据生命周期管理,以及乱序与高基…

深入浅出LVS负载均衡群集:原理、分类与NAT模式实战部署

深入浅出LVS负载均衡群集:原理、分类与NAT模式实战部署 文章目录深入浅出LVS负载均衡群集:原理、分类与NAT模式实战部署一、企业群集:从单台服务器到分布式架构的必然选择1. 什么是群集?2. 为什么需要群集?二、企业群集…

Flash Table实测:JAI赋能低代码开发,重塑企业级应用构建范式

目录🔍 引言1.1 什么是Flash Table1.2 低代码平台的进化与FlashTable的革新✨FlashTable背景:为什么需要新一代低代码平台?2.1 传统开发的痛点2.2 低代码平台的局限2.3 FlashTable的差异化定位💻 FlashTable安装:Docke…

SonarQube代码质量管理平台本地化搭建和使用

SonarQube 是一个开源的代码质量管理平台,主要用于持续检查代码质量,支持多种编程语言。 本文章记录了在windows环境中,搭建和使用SonarQube的完整过程。 ①SonarQube平台搭建 SonarQube最新社区版本下载地址: https://www.son…

基于双向LSTM深度学习网络模型的文本序列推荐系统matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.部分程序 4.算法理论概述 5.完整程序 1.程序功能描述 在信息爆炸的时代,用户面临着海量文本信息的筛选难题,文本序列推荐系统应运而生。双向长短期记忆网络(Bi-directional Long …

Transformer实战(17)——微调Transformer语言模型进行多标签文本分类

Transformer实战(17)——微调Transformer语言模型进行多标签文本分类 0. 前言 1. 多标签文本分类 2. 数据加载与处理 3. 模型微调 小结 系列链接 0. 前言 与单标签分类不同,多标签分类要求模型能够为同一文本分配多个相关标签,这在新闻分类、文献标注、内容推荐等场景中尤…

开源 C++ QT Widget 开发(十六)程序发布

文章的目的为了记录使用C 进行QT Widget 开发学习的经历。临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。 相关链接: 开源 C QT Widget 开发(一)工程文件结构-CSDN博客 开源…

MATLAB2-结构化编程和自定义函数-台大郭彦甫视频

目录 if elseif else switch case otherwise while exercise练习 for 预宣告 练习题 break tips编程的小技巧 functions函数 练习题 函数句柄 if elseif else 如果condition为真,执行语句 if condition1statement1 elseif condition2statement2 elsest…

LVGL移植2048小游戏全攻略

目录 准备脚手架 修改源码 对接触摸 测试编译 测试运行 这一节将以一个已经编写好的 lvgl 小游戏 2048 描述如何将已经编写完成的 lvgl 程序移植到开发板上。 准备脚手架 在这之前,我们先准备基础的 LVGL 脚手架。可以直接从 lv_g2d_test 里复制过来进行修改…

在Unity2021中使用Profiler的Deep Profile功能时内存超高怎么办?

这通常是因为Deep Profile会记录每一帧所有函数调用的详细信息,导致内存急剧增长,尤其在大型项目或复杂场景中4。别担心,我来帮你分析原因并提供一些解决办法。 理解 Deep Profile 的内存开销与替代方案 Deep Profile是Unity Profiler的一个…

Ubuntu 设置中文输入法

一、使用 IBus(Ubuntu 默认框架)步骤 1:安装中文输入法sudo apt install ibus-libpinyin ibus-pinyin步骤 2:添加输入法打开 Settings > Keyboard > Input Sources。点击 “”,搜索 Chinese (Intelligent Pinyin…

【Zephyr电源与功耗专题】14_BMS电池管理算法(三重验证机制实现高精度电量估算)

文章目录前言一、算法系统框架设计介绍1.1:核心设计方式1.2:系统架构图1.3:核心参数配置二、核心算法详解2.1:硬件数据采集与滤波2.2:三重算法机制2.2.1:库仑计法(电流积分)2.2.2&am…

Python网络与多任务编程:TCP/UDP实战指南

Python网络与多任务编程:TCP/UDP实战指南 一、网络编程 1.1 前言 网络编程是现代软件开发中不可或缺的一部分,它使得不同设备之间的数据交换成为可能。Python提供了强大的标准库来支持各种网络编程需求。 1.1.1 IP地址简介 IP地址是互联网上设备的唯一标…

Android8 binder源码学习分析笔记(四)——ServiceManager启动

前文回顾: Android8 binder源码学习分析笔记(三): https://blog.csdn.net/g_i_a_o_giao/article/details/151365630?spm1001.2014.3001.5502 Android8 binder源码学习分析笔记(二): https://…

Redis 大 Key 与热 Key:生产环境的风险与解决方案

🔥 Redis 大 Key 与热 Key:生产环境的风险与解决方案 文章目录🔥 Redis 大 Key 与热 Key:生产环境的风险与解决方案🧠 一、问题定义与识别💡 什么是大 Key?🔥 什么是热 Key&#xff…

C++算法题中的输入输出形式(I/O)

本文主要帮助刷leetcode题型快速适应完整带输入输出的题(机试、考试、比赛等)接收能用cin就用cin 。cin 自动分割单词 的特性(cin 读取字符串时会自动跳过空格 / 换行,将连续非空格字符作为一个 “单词”)一、单组输入…

【左程云算法09】栈的入门题目-最小栈

目录 栈的入门题目-最小栈 代码演示 视频链接 算法讲解015【入门】栈的入门题目-最小栈 Leecode155 栈的入门题目-最小栈 实现一个getmin方法(高效方法,即不用遍历),希望能实现O(1) 做法&#xff1a…

Grafana与Prometheus实战

🌟Grafana的Dashboard的权限管理 创建团队 创建用户 设置团队权限 🌟Prometheus启用https及认证功能 自建ca的证书 准备证书目录 mkdir /app/tools/prometheus-2.53.4.linux-amd64/certs cd /app/tools/prometheus-2.53.4.linux-amd64/certs生成ca的…