MySQL中表的增删改查
目录
一、CRUD
二、新增(Create)
(1)语法
(2)单行数据+全列插入
(3)多行数据+指定列插入
三、查询(Retrieve)
(1)语法
(2)全列查询
(3)指定列查询
(4)查询字段为表达式
1、表达式不包含字段:
2、表达式包含一个字段
表结构如下:
3、表达式包含多个字段
(5)别名
(6)去重:DISTINCT
(7)排序:ORDER BY
1、语法:
2、升序
3、降序
4、使用表达式及别名排序
5、可以对多个优先级进行排序,排序优先级随书写顺序
(8)条件查询:WHERE
1、比较运算符
2、逻辑运算符
3、基本查询:
4、AND和OR:
5、范围查询
(1) BETWEEN ... AND
(2)IN
6、模糊查询:LIKE
7、NULL的查询:IS [NOT] NULL
8、分页查询:LIMIT
四、修改(Update)
案例:
-- 将孙悟空同学的数学成绩变更为 80 分
-- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
-- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
-- 将所有同学的语文成绩更新为原来的 2 倍
五、删除(Delete)
案例:
-- 删除孙悟空同学的考试成绩
-- 删除整张表数据
六、内容重点总结
新增编辑
查询编辑
修改编辑
删除编辑
都看到这了,点个赞再走吧,谢谢谢谢谢!!!
一、CRUD
注释:在SQL中可以使用“--空格+描述”来表示注释说明
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写
二、新增(Create)
已有的表结构和表数据:
(1)语法
INSERT [INTO] table_name
[(column [, column] ...)]
VALUES (value_list) [, (value_list)] ...
value_list: value, [, value] ...
(2)单行数据+全列插入
语法:insert into 表名 values(要插入的数据, ...)
注意:插入的数据顺序要和表结构相同,不然插入会失败
代码展示:
insert into books values('数学', '张三', 6.66, '数学类'); insert into books values('英语', '李四', 8.88, NULL);结果如下:
(3)多行数据+指定列插入
语法:insert into 表名 (指定的列名, ...) values(指定列名数据)
代码展示
insert into books (name, price, sort) values('语文', 5.55, '语文类'), ('物理', 7.77, '物理类');结果如下:
三、查询(Retrieve)
(1)语法
SELECT
[DISTINCT] {* | {column [, column] ...}
[FROM table_name]
[WHERE ...]
[ORDER BY column [ASC | DESC], ...]
LIMIT ...
(2)全列查询
注意:select查询操作的全都是临时表,不会改变原本的数据
语法:select * from 表名
代码展示:
select * from books;结果如下:
注意:通常情况下不建议使用 * 进行全列查询
-- 1. 查询的列越多,意味着需要传输的数据量越大;(要处理的信息太多,服务器可能会堵塞,大量的硬盘IO和网络IO就可能把硬盘或者网卡的宽带给吃满,一旦宽带吃满了,此时服务器就无法正常响应其他的客户端的请求了,在其他的客户端视野中,就会认为服务器挂了)
-- 2. 可能会影响到索引的使用
(3)指定列查询
语法:select 指定的列名,... from 表名
代码展示:
select name, author, price from books;结果如下:
注意:指定列查询可以不按这个表的列顺序查询,如图
(4)查询字段为表达式
1、表达式不包含字段:
语法:select 表达式, ... from books
代码演示:
select name, price, 10 from books;结果如下
因为没有10,所以会创建一个字段10,下面都放10
2、表达式包含一个字段
语法:select 含有一个字段的表达式, ... froms 表名
代码演示:
select name, author, price + 10 from books;结果如下:
表结构如下:
3、表达式包含多个字段
语法:select 含有多个字段的表达式,... from 表名
整型数据代码演示:
select name, chinese + math + english from report;结果如下:
不是整型数据代码演示:
select price, name + author + sort from books;结果如下:
可以看到,表达式包含多行字段,有只要有NULL都为NULL,字符串相加等于0的现象
(5)别名
语法:select 列名,... as 别名 from report
注意(as可以不加,但是加上更好,容易区分)
代码演示:
select id, chinese + math + english as 总分 from report;结果如下:
(6)去重:DISTINCT
现有的表:
语法:select distinct 列名,... from 表名
代码展示:
select distinct math from exam_result;结果如下:
(7)排序:ORDER BY
1、语法:
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...]
ORDER BY column [ASC|DESC], [...];
2、升序
语法:select * (或者其他列名也可以) from 表名 order by 列名
代码展示:
select * from exam_result order by math;结果如下:
3、降序
语法:select * (或者其他列名也可以) from 表名 order by 列名 desc
代码展示:
select * from exam_result order by math desc;结果如下:
4、使用表达式及别名排序
语法:select 列名, 表达式 from 表名 order by 表达式;
代码展示:
select name, math + chinese + english as total from exam_result order by math + chinese + english;结果如下:
注意:
这里order by后面可以使用别名
5、可以对多个优先级进行排序,排序优先级随书写顺序
语法:select 要查询的列 exam_result order by 列名,列名...;
代码演示:
select * from exam_result order by math, english;结果如下:
(8)条件查询:WHERE
1、比较运算符
2、逻辑运算符
注意:1. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
2. WHERE条件可以使用表达式,但不能使用别名。
如图示例:
sql语句的执行顺序:
第一步:取出一条记录(遍历表)
第二步:把记录带入条件带入条件,判断是否满足
第三步:如果条件满足,再把select指定的列取出来,并进行一些表达式运算
所以条件查询的where后面不能用别名
3、基本查询:
查询英语成绩大于70分的同学:
代码如下:
select name, english from exam_result where english > 70;结果如下:
查询英语成绩大于语文成绩的同学:
代码如下:
select name, english, chinese from exam_result where english > chinese;结果如下:
查询总成绩小于200的同学:
代码如下:
select name, chinese + math + english from exam_result where (chinese + math + english) < 200;结果如下:
4、AND和OR:
查询语文成绩大于80分,且英语成绩大于80分的同学
代码如下:
select name, chinese, english from exam_result where (chinese > 80) and (english > 80);结果如下:
查询语文成绩大于80分,或英语成绩大于80分的同学
代码如下:
select name, chinese, english from exam_result where (chinese > 80) or (english > 80);结果如下:
5、范围查询
(1) BETWEEN ... AND
代码展示:
select * from exam_result where chinese between 80 and 90;结果展示:
这里用and也可以实现代码:
select * from exam_result where chinese >= 80 and chinese <= 90;
(2)IN
代码如下:
select name, math from exam_result where math in(58, 59, 98, 99);结果展示:
这里也可以用or
代码:
select name, math from exam_result where math = 58 or math = 59 or math = 98 or math = 99;
6、模糊查询:LIKE
% 匹配任意多个(包括 0 个)字符
_ 匹配严格的一个任意字符
代码展示:select name from exam_result where name like '孙%';结果如下:
代码展示:
select name from exam_result where name like '孙_';结果如下:
7、NULL的查询:IS [NOT] NULL
判断表里面某个列是否为NULL,或者不是NULL
代码如下:
select name from exam_result where name is not null;结果如下:
代码如下:
select name from exam_result where name is NULL;结果如下:
8、分页查询:LIMIT
语法:
-- 起始下标为 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;
四、修改(Update)
语法:
UPDATE table_name SET column = expr [, column = expr ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...]
案例:
-- 将孙悟空同学的数学成绩变更为 80 分
语法:
update 表名 set 要修改的列名 = 要修改的值 where 列名 = 要指定修改的列里的值
代码如下:
mysql> update exam_result set math = 80 where name = '孙悟空';结果如下:
-- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
代码如下:
update exam_result set math = 60, chinese = 70 where name = '曹孟德';结果如下:
-- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
代码如下:
结果如下:
-- 将所有同学的语文成绩更新为原来的 2 倍
代码如下:
update exam_result set chinese = chinese * 2;结果如下:
五、删除(Delete)
语法:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
案例:
-- 删除孙悟空同学的考试成绩
代码如下:
delete from exam_result where name = '孙悟空';结果如下:
-- 删除整张表数据
准备一张表,如下:
代码如下:
delete from for_delete;结果如下:
六、内容重点总结
新增

查询


修改

删除

都看到这了,点个赞再走吧,谢谢谢谢谢!!!
相关文章:
MySQL中表的增删改查
目录 一、CRUD 二、新增(Create) (1)语法 (2)单行数据全列插入 (3)多行数据指定列插入 三、查询(Retrieve) (1)语法 …...
web.py python服务器两种模板template使用方法
【版权声明】 本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 更多python应用或算法总结请关注我的博客:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。 web.py是Python Web框架之一,…...
Flutter 01 目录结构入门
一、Flutter目录结构: 二、Flutter入口文件、入口方法: 三、Flutter Demo: demo1: import package:flutter/material.dart;//MaterialApp 和 Scaffold两个组件装饰App void main() {runApp(MaterialApp(home: Scaffold(appBar: A…...
Esxi安装OpenWrt
最近折腾下软路由主要就是实现局域网内的上网。 1.StarWind V2V Converter下载 先去下载个StarWind V2V Converter,觉得麻烦我在网上有找到一个博主的地址点击这里。 这是官网地址传送门,然后一阵乱输入点击下载 然后 双击之后无脑下一步即可。 2.Op…...
tuple 简易实现(C++ 模板元编程)
std::tuple 在标准库里面,tuple主要有下面四个类模板 or 函数模板 tupletuple_sizetuple_elementget 在后续有实现:tuple_size_v tuple_size::value和tuple_element_t tuple_element::type。 事例Example: auto tup std::tuple<in…...
Http代理与socks5代理有何区别?如何选择?(二)
上篇文章我们基本分别了解了http代理与socks5代理的定义与优缺点,接下来我们继续来了解http代理与socks5代理之间的比较与区别。 一、两者的比较 1、功能比较 HTTP代理专门用于Web流量,并在处理HTTP和HTTPS协议方面非常高效。它们可以修改正在传输的数…...
java中main方法和@Test注解的区别
Java的main方法和Test注解在用途和功能上有很大的区别。 main方法是Java应用程序的入口点。当你运行一个Java程序时,JVM会首先查找具有public static void main(String[] args)签名的类,并从这个方法开始执行程序。main方法通常用于控制程序的启动、执行…...
C++进阶语法——STL 标准模板库(下)(Standard Template Library)【学习笔记(七)】
文章目录 STL 代码示例1、迭代器2、算法3、array容器示例4、vector示例5、deque(double ended queue,双端数组)示例6、list(链表)容器7、set示例8、map示例9、stack 示例10、queue示例11、priority_queue (…...
力扣:求最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 示例1: 输入: strs ["flower", "flow" , "flight"] 输出: "fl" 示例2: 输入: strs ["dog","racecar","car&…...
Redis入门04-消息通知
目录 Redis中的消息通知 命令行操作 Redis中的管道 Redis中的消息通知 Redis可以用作消息队列的中间件,它提供了一种轻量级、高性能的消息传递机制,适用于实时通信、任务队列、事件处理等各种应用。以下是有关如何使用Redis作为消息队列的一些重要信…...
关于idea使用的一些操作设置
关于idea使用的一些操作设置 1. 常用的一下设置1.1 快捷键相关1.2 配置自动生成注释(类、方法等)1.3 maven项目相关1.4 常见其他的一些操作设置 2. IntelliJ IDEA 取消param注释中参数报错提示3. idea同时打开多个文件,导航栏不隐藏、自动换行…...
CLion 2023.2.2(C ++ IDE智能代码编辑器)
CLion 2023是一款跨平台C/C集成开发环境(IDE)。它为Mac用户提供了高效的编程体验,帮助程序员们在Mac平台上进行C/C开发。 CLion 2023支持多种编译器和调试器,并具有强大的代码分析和导航功能。它还为用户提供了许多便捷的工具和插…...
企业级API资产如何管理
在当今数字化时代,API已成为企业开发和创新的重要工具,如何高效地管理和调度这些资产成为了企业发展的重要课题。API资产管理的出现,为企业解决了这一难题,通过合理管理和利用API资产,企业可以更好地推动业务发展&…...
Git https方式拉的代码IDEA推送代码报错
报错信息 fatal: could not read Username for ‘https://codehub-cn-south-1.devcloud.huaweicloud.com’: No such file or directory 18:18:39.885: [recovery_pattern] git -c credential.helper -c core.quotepathfalse -c log.showSignaturefalse push --progress --porc…...
C++ capacity()用法总结
1. 容器的容量 容器的size是指它已经保存的元素的数目;而capacity则是在不分配新的内存空间的前提下它最多可以保存多少元素。capacity(),size(),reserve(),resize()这几个都是不太容易区分的函数 functionmeancapacity()获得容…...
TensorFlow2.0教程1-Eager
文章目录 张量极其操作1 张量自定义层一、网络层layer的常见操作二、实现自定义网络层三、网络层组合自动求导一、Gradient tapes二、记录控制流三、高阶梯度自定义训练(基础)一、Variables二、示例:拟合线性模型1、定义模型2.定义损失函数3.获取训练数据4.定义训练循环张…...
Redis学习系统(持续更新中)
RedisExample 课程介绍 目标是提供一个高效、可靠的学习和实践Redis的环境。我们将通过搭建Redis集群、实现缓存数据的持久化存储、制定缓存数据的淘汰策略以及同步缓存数据等步骤来深入了解和学习Redis的特性和功能。通过这个项目,你可以掌握Redis的核心概念和技…...
el-select获取id和name
一般选中节点只会返回:value绑定的数据给v-model中,要想获取id和name一并传给后端,需要如下几步: 1、给选择框添加点击事件 input"selectChangeParent" 2、v-for中多添加一个参数 index <el-select v-model"inputForm.pr…...
最简单的驱动程序
简介 在 Linux 内核中,Makefile 和 Kconfig 是两个重要的文件,它们分别承担着不同的作用。 Makefile Makefile 是一个文本文件,用于定义编译和构建内核的规则。它使用 make 工具来管理和自动化构建过程。Makefile 定义了编译器、链接器、编译选项、目标文件、源文件等信息…...
MFC String类的初始化学习
之前写过CString的用法; VC CString 编程实例图解_bcbobo21cn, cstring-CSDN博客 下面单独看一下CString的各种初始化方式; void CTest2View::OnDraw(CDC* pDC) {CTest2Doc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for nati…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...








































