当前位置: 首页 > news >正文

MySQL | MySQL表的增删改查(CRUD)

目录

  • 前言:什么是 CRUD ?
  • 一、Creat 新增
    • 1.1 语法
    • 1.2 示例
      • 1.2.1 单行数据全列插入
      • 1.2.2 单行数据指定列插入
      • 1.2.3 多行数据指定列插入
  • 二、Retrieve 检索
    • 2.1 语法
    • 2.2 示例
      • 2.2.1 全列查询
      • 2.2.2 指定列查询
      • 2.2.3 查询字段为表达式
      • 2.2.4 结果去重查询
      • 2.2.5 where条件查询
      • 2.2.6 order by排序
      • 2.2.7 分页查询
  • 三、Update 修改
  • 四、Delete 删除

复习: MySQL | MySQL库、表的基本操作

前言:什么是 CRUD ?

CRUD 其实就是对数据库中的记录进行增删改查的操作,每个字母都是 “增删改查” 的首字母:

  • C : Creat(创建)
  • R : Retrieve (读取)
  • U : Update (更新)
  • D : Delete (删除)

注: 增删改查操作的是表中的数据行!

一、Creat 新增

1.1 语法

INSERT  [INTO] 表名[(列名 [,列名]...)]
VALUES(value_list)[, (value_list)]...//值列表	
value_list: value, [, value]...

简单来说就是:

insert into 表名 [列名...] values (...);

1.2 示例

首先创建一张表,见下图:

在这里插入图片描述

1.2.1 单行数据全列插入

在这里插入图片描述

插入成功!
所插入的值的数量必须和定义表的列的数量和顺序一致!

1.2.2 单行数据指定列插入

这里指定在 id 列和 name 列插入 “2 ,李四”
在这里插入图片描述

1.2.3 多行数据指定列插入

这里指定在 id 列和 name 列插入 “3 ,王五” ,“4 ,赵六”
在这里插入图片描述

二、Retrieve 检索

2.1 语法

SELECT
[DISTINCT]    -- 去重
select_expr [, select_expr] ...
[FROM table_references]    -- 从哪个表
[WHERE where_condition]    -- 查询条件
[GROUP BY {col_name | expr}, ...]    -- 根据什么分组
[HAVING where_condition]   -- 对分组的结果进⾏过滤
[ORDER BY {col_name | expr } [ASC | DESC], ... ]   -- 排序
[LIMIT {[offset,] row_count | row_count OFFSET offset}]  -- 限制

在exam表中插入以下数据:

-- 插入测试数据
INSERT INTO exam (id, name, chinese, math, english) VALUES
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87, 78, 77),
(3, '猪悟能', 88, 98, 90),
(4, '曹孟德', 82, 84, 67),
(5, '刘⽞德', 55, 85, 45),
(6, '孙权', 70, 73, 78),
(7, '宋公明', 75, 65, 30);

2.2 示例

2.2.1 全列查询

select * from 表名;
// *表示所有列   返回表中所有信息

注意: 在工作中,select * from 表名; 是个非常危险的操作,为在生产环境中,一个表中的数据量非常大,有可能是TB级,每一个查询执行的时候会有磁盘开销和网络开销,如果不加限制会把服务器的资源吃完!!!

在这里插入图片描述

2.2.2 指定列查询

select 列名、列名... from 表名;

在这里插入图片描述

要查询的列只要在表中即可,与顺序无关。

2.2.3 查询字段为表达式

例子:

select id, name, chinese, 10 from exam; -- 可以是一个常量
select id, name, chinese, 10 + 1 from exam; -- 可以是一个表达式
select id, name, chinese + math + english from exam; -- 可以是一个表达式 
select id, name, chinese + math + english (as) total from exam;-- 可以为列重命名,直接在列明后边写,可以加as也可以不加

以上四个代码示例的执行结果如下:

在这里插入图片描述

2.2.4 结果去重查询

select math from exam;
select distinct math from exam;  -- 加distinct关键字对查询结果去重

结果1中的两个98变成了一个98

在这里插入图片描述

2.2.5 where条件查询

用法:直接在 where 后边加查询条件
示例:

select id, name, math from exam;
select id, name, math from exam where math > 90;  -- 查询数学成绩大于90分的同学

查询结果:

在这里插入图片描述

2.2.6 order by排序

示例:
将数学成绩大于80分的同学按 升序(asc) / 降序(desc) 排序;

select id, name, math from exam where math > 80 order by math asc;-- 升序
select id, name, math from exam where math > 80 order by math desc;-- 降序

查询结果:

在这里插入图片描述

注意:
• 查询中没有ORDER BY 子句,返回的顺序是未定义的,永远不要依赖这个顺序
• ORDER BY 子句中可以使用列的别名进行排序
• NULL 进行排序时,视为比任何值都小,升序出现在最上面,降序出现在最下面

2.2.7 分页查询

-- 起始下标为 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;

示例:

select id, name, chinese + english + math total from exam;
select id, name, chinese + english + math total from exam limit 2;-- 从0开始往后查询两条
select id, name, chinese + english + math total from exam limit 1,2;-- 从1开始向后查询两条,不包括1
select id, name, chinese + english + math total from exam limit 2 offset 1;
-- 从记录为1的位置开始向后读取两条记录,不包括1

查询结果:

在这里插入图片描述

三、Update 修改

语法:

UPDATE table_reference -- 表名
SET assignment [, assignment] ...  --哪个列,什么值
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

简单来说就是:

update 表名 set 列名 =...;

示例:将孙悟空的数学成绩修改为80分
代码:

update exam set math = 80 where name = '孙悟空';

执行结果:

在这里插入图片描述

update 注意事项:

  1. 在原值的基础上做变更时,不能使用math+=30这样的语法,要使用math = math + 30
  2. 不加where条件时,会导致全表数据被更新,必须谨慎操作!!!

四、Delete 删除

语法:

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

示例1:删除孙悟空同学的考试成绩

delete from exam where name = '孙悟空';

在这里插入图片描述
示例2:删除整张表的数据
语法:

delete from exam;

在这里插入图片描述

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

相关文章:

MySQL | MySQL表的增删改查(CRUD)

目录 前言:什么是 CRUD ?一、Creat 新增1.1 语法1.2 示例1.2.1 单行数据全列插入1.2.2 单行数据指定列插入1.2.3 多行数据指定列插入 二、Retrieve 检索2.1 语法2.2 示例2.2.1 全列查询2.2.2 指定列查询2.2.3 查询字段为表达式2.2.4 结果去重查询2.2.5 where条件查…...

【愚公系列】《高效使用DeepSeek》003-DeepSeek文档处理和其他顶级 AI模型的区别

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

OSC32IN与OSC32OUT对于无源晶振而言有区别吗?

OSC32IN与OSC32OUT对于无源晶振而言有区别吗? 答:没有区别。对晶振本身而言,两个频率管脚反接也是一样的。 如下图所示: 使用示波器连接晶振的两个引脚,并观察波形可以帮助确定输入和输出端口。 当晶振工作正常时&…...

究竟什么是虚拟同步机???虚拟同步机巨简单理解

1同步发电机 1.1同步发电机工作原理 同步发电机定子铁芯的内圆均匀分布着定子槽,槽内按一定规律嵌放着对称的三相绕组U1-U2、V1-V2、W1-W2,如图1所示。 图1 同步发电机的结构原理图 工作原理: 转子铁芯上装有制成一定形状的成对磁极,磁极上绕有励磁绕组。励磁绕组上通直流…...

ZVA-Z90,罗德与施瓦茨毫米波变换器

罗德与施瓦茨 ZVA-Z90毫米波变换器​ 商品品牌:R&S/罗德与施瓦茨 商品型号:ZVA-Z90 商品名称:毫米波变换器 产品简介: ZVA-Z 毫米波变换器 简介 R&SZVA-Zxx 毫米波变换器支持在 V、E、W、F、D、G、J 以及 Y 频段内的毫米波测量…...

TCP/IP 协议精讲-精华总结版本

序言 本文旨在介绍一下TCP/IP涉及得所有基础知识,为大家从宏观上俯瞰TCP/IP提供一个基石,文档属于《TCP/IP图解(第五版)》的精简版本。 专业术语 缩写 全称 WAN Wide area network广域网 LAN Local area network局域网 TC…...

电脑内存不足怎么办?

常规解决方法盘点 关闭后台程序:按下【Ctrl Shift Esc】组合键打开任务管理器,在 “进程” 选项卡里,把当前不用的程序统统 “结束任务” ,像那些自动更新的软件、常驻后台的播放器,关了能释放不少内存。比如音乐软…...

PTP协议赋能高精度时间同步网络

什么是PTP? PTP(精确时间协议,Precision Time Protocol) 是一种基于IEEE 1588标准的网络时间同步协议,旨在为分布式系统中的设备提供亚微秒级(甚至纳秒级)的高精度时钟同步。其核心目标是通过消…...

【redis】string应用场景:缓存功能和计数功能

文章目录 缓存功能实现思路存在的问题伪代码实现 记数功能实现思路统计伪代码实现 缓存功能 实现思路 整体的思路: 应用服务器访问数据的时候,先查询 Redis 如果 Redis 上数据存在了,就直接从 Redis 读取数据交给应用服务器,不继…...

oracle中OS BLOCK的含义

在Oracle数据库中,OS BLOCK(操作系统数据块)是指操作系统层面上的数据块,它与Oracle数据库内部的逻辑存储单元BLOCK(数据块)有所区别但密切相关。以下是对OS BLOCK的详细解释: 定义与概念 OS BL…...

SSM企业台账管理平台

🍅点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅 项目视频 SS…...

Linux下使用pigz工具结合tar实现并行压缩提升压缩和解压速度

说明 tar命令是在 Unix 和类 Unix 系统中用于归档和压缩文件的常用工具。 基本语法 tar [选项] [归档文件名] [文件或目录列表]常用选项 创建归档文件: -c:创建一个新的归档文件。例如,tar -cvf myarchive.tar file1.txt file2.txt会创建一个名为myarchive.tar的归档文件…...

低代码与AI测试自动化:双剑合璧的未来

在数字化转型浪潮下,企业软件开发和测试的效率需求空前提高。低代码(Low-Code)平台因其直观的可视化编程方式、大幅降低开发门槛的特点,成为企业敏捷开发的首选。而AI测试自动化的兴起,则彻底改变了传统软件测试模式&a…...

JavaScript基础篇:三、 变量与数据类型

一、变量的概念与声明 在 JavaScript 中,变量是用于存储数据的容器。通过声明变量,可以为程序中的数据分配内存空间,以便后续的访问和操作。变量的声明使用`var`、`let`或`const`关键字。 (一)var关键字 `var`是 JavaScript 中传统的变量声明方式,具有函数级作用域。这…...

【2025最新版】如何将fnm与node.js安装在D盘?【保姆级安装及人性话理解教程】

目录 背景: 1.安装fnm 1.1下载fnm 1.2解压目录 1.3配置fnm的环境变量 1.4验证fnm是否安装成功 fnm大捷~ 2.相关配置为下载node.js做准备 2.1查看是否有环境配置文件 2.2获取环境配置文件 2.3新建文件 2.4写入配置 2.5重启powershell 2.5.1可能出现的错…...

【免费】2008-2020年各省城镇登记失业率数据

2008-2020年各省城镇登记失业率数据 1、时间:2008-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、城镇登记失业率 4、范围:31省 5、指标说明:城镇登记失业率是指在一定时期内&…...

C++:类和对象(从底层编译开始)详解[前篇]

目录 一.inline内联的详细介绍 (1)为什么在调用内联函数时不需要建立栈帧: (2)为什么inline声明和定义分离到两个文件会产生链接错误,链接是什么,为什么没有函数地址: 二.类&…...

Deny by project hooks setting ‘default‘: size of the file

问题描述 gitcode.com提交代码时候发现出现文件大于默认10MB后不能上传 错误显示内容如下: Total 43 (delta 1), reused 0 (delta 0), pack-reused 0 remote: Start Git Hooks Checking [FAILED] remote: Error: Deny by p…...

【Flutter】数据库实体类构造函数加密注意事项

源代码: AccountEntity( {required String account, required String password,}) : account encrypter.encrypt(account,iv: iv).base64, password encrypter.encrypt(password,iv: iv).base64,; 解密代码: static final encrypter Encrypter(AES…...

如何在PHP中实现数据加密与解密:保护敏感信息

如何在PHP中实现数据加密与解密:保护敏感信息 在现代Web开发中,数据安全是一个至关重要的议题。无论是用户的个人信息、支付数据,还是其他敏感信息,都需要在存储和传输过程中进行加密,以防止数据泄露和恶意攻击。PHP作…...

【Pyqt5】水平布局与垂直布局及其交叉展示及实战音乐播放器UI

感受一下Pyqt5的水平布局与垂直布局及其交叉展示 需求: 4个按钮水平排放4个按钮垂直排放水平排放与垂直排放并用实战:音乐播放器UI 水平排放 import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayoutclass MyWindo…...

Java 中 getCanonicalName、getSimpleName、getName、getTypeName 的区别

1. 核心区别总结 方法作用数组类型示例非数组类型示例getName()返回 JVM 内部格式的类全名,适用于反射操作(如 Class.forName())int[] → [IString → java.lang.StringgetTypeName()返回更友好的类型名称,对数组递归处理组件类型…...

uni-app打包h5并部署到nginx,路由模式history

uni-app打包有些坑,当时运行的基础路径填写了./,导致在二级页面刷新之后,页面直接空白。就只能换一个路径了,nginx也要跟着改,下面是具体步骤。 manifest.json配置web 运行路径写/h5/,或者写你们网站的目…...

数据结构与算法(哈希表——两个数组的交集)

原题 349. 两个数组的交集 - 力扣(LeetCode) 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 […...

P1259 黑白棋子的移动【java】【AC代码】

有 2n 个棋子排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n5 的情况: 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但…...

一些docker命令

一、基础命令 查看 Docker 版本 docker --version 或 docker version:显示 Docker 客户端和服务器的版本信息。 查看 Docker 系统信息 docker info:显示 Docker 系统的详细信息,包括镜像、容器数量、存储驱动类型等。 Docker 服务管理 s…...

云服务器新手配置内网穿透服务(frp)

首先你得有一个公网服务器,有了它你就可以借助它,将自己电脑进行配置内网穿透,让自己内网电脑也可以异地轻松访问。网上教程较多,特此记录我自己的配置,避免迷路,我这里只记录我自己云服务小白,…...

linux ptrace 图文详解(二) PTRACE_TRACEME 跟踪程序

目录 一、基础介绍 二、PTRACE_TRACE 实现原理 三、代码实现 四、总结 (代码:linux 6.3.1,架构:arm64) One look is worth a thousand words. —— Tess Flanders 一、基础介绍 GDB(GNU Debugger&…...

Maven安装、idea集成Maven、Maven依赖管理、Maven生命周期

一. Maven介绍 1. Maven是一款用于管理和构建Java项目的工具,是Apache旗下的一个开源项目,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建 2. Maven作用: (1) 依赖管理:方便快捷的管理项目依赖的资…...

【xv6操作系统】系统调用与traps机制解析及实验设计

【xv6操作系统】系统调用与traps机制解析及实验设计 系统调用相关理论系统调用追溯系统调用实验设计Sysinfo🚩系统调用总结(结合trap机制) traptrap机制trap代码流程Backtrace实验alarm实验 系统调用 相关理论 隔离性(isolation)…...

S7-1200 G2移植旧版本S7-1200程序的具体方法示例

S7-1200 G2移植旧版本S7-1200程序的具体方法示例 前期概要: S7-1200 G2必须基于TIA博途V20,之前的程序可通过移植的方式在新硬件上使用。 该移植工具可自动将TIA Portal 项目从 S7-1200 移植到更新的S7-1200 G2。 注意: 该插件支持在同一TIA Portal项目实例内将软件和/或硬…...

海量数据查询加速:Presto、Trino、Apache Arrow

1. 引言 在大数据分析场景下,查询速度往往是影响业务决策效率的关键因素。随着数据量的增长,传统的行存储数据库难以满足低延迟的查询需求,因此,基于列式存储、向量化计算等技术的查询引擎应运而生。本篇文章将深入探讨 Presto、Trino、Apache Arrow 三种主流的查询优化工…...

vscode远程连接服务器并运行项目里的.ipynb文件 如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境?

【最全指南】如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境? 最好用的方法! 使用 nb_conda_kernels 添加所有环境 第二种方法其实也挺不错的。有个缺点是,你新建一个环境,就要重复操作一次。 而这个方法就是一键添加所有…...

二阶优化方法详解

前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 ima 知识库 知识库广场搜索&#…...

C++中通过虚函数实现多态的原理

C中通过虚函数实现多态的原理 我们都知道C是通过虚函数实现多态的,那么其中的原理是什么呢? 在C中,多态性是一种重要的特性,它允许通过基类指针或引用来调用派生类中的函数。多态性主要分为两种:编译时多态&#xff…...

阿里云服务器购买及环境搭建宝塔部署springboot和vue项目

云服务器ECS_云主机_服务器托管_计算-阿里云 一、前言 对于新手或者学生党来说,有时候就想租一个云服务器来玩玩或者练练手,duck不必花那么多钱去租个服务器。这些云服务厂商对学生和新手还是相当友好的。下面将教你如何快速搭建自己的阿里云服务器&…...

【学习笔记】中缀表达式转后缀表达式及计算

C实现中缀表达式转后缀表达式及后缀表达式的计算 在C中,实现中缀表达式转换为后缀表达式(逆波兰表达式)以及后缀表达式的计算是一个非常经典的问题。它不仅涉及到栈(Stack)数据结构的使用,还涉及到对运算符…...

【机器人-基础知识】标定 - 相机标定全解

https://blog.csdn.net/MengYa_Dream/article/details/120233806 1. 相机标定的定义 相机标定是确定相机成像过程中各个参数的过程,它的核心目标是建立从三维世界坐标系到二维图像坐标系的数学映射关系。这一过程包括求解: 内参:描述相机内部光学特性(如焦距、主点位置、像…...

Java 8 + Tomcat 9.0.102 的稳定环境搭建方案,适用于生产环境

一、安装 Java 8 安装 OpenJDK 8 bash sudo apt update sudo apt install openjdk-8-jdk -y 验证安装 bash java -version 应输出类似: openjdk version “1.8.0_412” OpenJDK Runtime Environment (build 1.8.0_412-8u412-ga-1~22.04-b08) OpenJDK 64-Bit Server VM (bui…...

探索 C 语言枚举类型的奇妙世界

目录 一、枚举类型的定义二、枚举类型变量的声明和初始化2.1 先定义枚举类型,再声明变量2.2 定义枚举类型的同时声明变量 三、自定义枚举常量的值四、枚举类型的特点五、注意事项 在C语言中,枚举类型( enum)是一种用户自定义的数…...

buu-ciscn_2019_ne_5-好久不见50

1. 背景分析 目标程序是一个存在漏洞的二进制文件,我们可以通过以下方式利用漏洞获取 shell: 程序中存在 system() 函数,但没有明显的 /bin/sh 字符串。 使用工具(如 ROPgadget)发现程序中有 sh 字符串,可…...

HCIA-ACL实验

前提条件:实现底层互通 转发层面 1、基本ACL ①要求PC3不能访问网段192.168.2.0的网段,PC4和客户端能正常访问服务器 ②AR2配置 acl 2000 rule deny source 192.168.1.1 0 匹配流量 int g 0/0/0 traffic-filter inbound acl 2000 接口调用…...

Java入职篇(2)——开发流程以及专业术语

Java入职篇(2)——开发流程以及专业术语 开发流程 开发术语 测试用例(用例) 测试人员写的测试方案,基本上就是编写的测试过程,以及测试的预取结果 灰度测试 现在小部分范围内使用,然后逐步…...

三相逆变器不控整流场景简要分析

0 三相逆变器拓扑 LCL三相逆变器简要拓扑如下图所示,其他类型如多电平逆变器类似。 1 原理说明 软件在进行直流母线电压Udc的给定取值时,考虑到电压利用率,通常会比电网线电压的峰值稍微高些,比如取线电压峰值的1.0x倍&#x…...

语言识别模型whisper学习笔记

语言识别模型whisper学习笔记 Whisper 是由 OpenAI 于 2022年9月 推出的开源自动语音识别(ASR)系统,旨在实现高精度、多语言的语音转文本及翻译任务。其核心目标是解决传统语音识别模型在噪声环境、口音多样性及多语言场景下的局限性。 一、…...

centos 换阿里云yum

1、备份原有的Yum源配置文件 在更换Yum源之前,先备份CentOS系统中默认的Yum源配置文件,以便在需要时恢复。默认的Yum源配置文件位于 /etc/yum.repos.d/ 目录下,通常包含 CentOS-Base.repo、CentOS-Debuginfo.repo、CentOS-Vault.repo 等文件…...

Jmeter的简单使用

前置工作 确保java8 版本以上jmeter下载路径(选择Binaries):https://jmeter.apache.org/download_jmeter.cgi直接解压,找到bin下面的文件:jmeter.bat(可选)汉化,修改 jmeter.proper…...

CSS元素层叠顺序规则

CSS元素层叠顺序规则 看图说话总结: background/borderz-index(<0)blockfloatinline/inline-blockz-index(0,auto)z-index (>0)...

用Maven创建只有POM文件的项目

使用 mvn 创建一个仅包含 pom.xml 文件的父项目&#xff0c;可以借助 maven-archetype-quickstart 原型&#xff0c;然后移除不必要的文件&#xff0c;或者直接通过命令生成最简的 pom.xml 文件。以下是具体操作步骤&#xff1a; 一、方法一&#xff1a;使用原型创建后清理 1…...

使用Python在Word中生成多种不同类型的图表

目录 工具与环境配置 在 Word 中创建图表的步骤 在Word中创建柱形图 在Word中创建条形图 在Word中创建折线图 在Word中创建饼图 在Word中创建散点图 在Word中创建气泡图 在 Word 文档中插入图表不仅能更直观地呈现数据&#xff0c;还能提升文档的可读性和专业性。常见的…...