MySQL表的增删改查(初阶)
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查(CRUD,create,retrieve,update,delete)数据库的核心模块。
1. 新增(Create)
实际上sql中使用insert来往表里插入数据(确保已经选中数据库并创建好相应的表);
Insert into 表名 values(列,列…..);
//这里给出的列的数目和类型与之前创建的表里面的相关信息要匹配。
1.1 单行数据 + 全列插入
代码如下:
-- 插入两条记录,table表数量必须和定义表的列的数量及顺序一致
insert into chengyuan values (1,'沈梦瑶');
insert into chengyuan values (1,'袁一琦');
结果如下:
2、查询(Retrieve)
2.1 单次插入多行数据 + 指定列插入
1、一次插入多行
在values后面写多组()就可以,代码如下:
//-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
insert into chengyuan values
(2,'袁一琦'),
(3,'王奕');
结果如下:
2、指定列进行插入,可以进行操作成功。代码如下:
//将成员表的id指定为4的信息插入insert into chengyuan (id ) values (4);
结果如下:
注意:在控制台中我们可以通过向上和向下的方向键来显示我们上一行命令。
2.2 全列查询
操作指令及注意事项如下:
// 通常情况下不建议使用 * 进行全列查询
// 1. 查询的列越多,意味着需要传输的数据量越大;
// 2. 可能会影响到索引的使用。(索引待后面课程讲解)
SELECT * FROM 表名;
结果展示:
2.3 指定列查询
调整表固定列的参数顺序
语法如下:
//指定列的顺序不需要按定义表的顺序来
SELECT name, id FROM chengyuan;
结果展示:
2.4 查询字段为表达式
语法如下:
//指定列的顺序不需要按定义表的顺序来
SELECT id, id+10,name FROM chengyuan;
结果如下:
2.5 设置为别名查询
为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法如下:
SELECT id,name ,id+100 AS 总分 FROM chengyuan;
结果如下:
- 当前表达式查询,并没有修改服务器上硬盘中存储的数据本体,只是在查寻结果的基础上进行运算的,得到的是一个临时表。(当这个操作结束,这里的数据就会消散,这里的数据库本体不会发生改变)->select操作不会改硬盘上的原始数据带来改变。
- 此处查询出来的临时表,每个列的类型不在受限于原始表。
2.6 去重:DISTINCT
使用DISTINCT关键字对某列数据进行去重:
1、对一个列使用去重,使用语法如下:
SELECT DISTINCT id FROM chengyuan;
结果展示:
2、 对多个列使用去重,当两个列都有着相同的数据才会进行合并,否则只有一个列相同,数据不会发生合并,使用语法如下:
SELECT DISTINCT name,id FROM chengyuan;
结果展示:
2.7 排序:ORDER BY
2.7.1 简单的升降序排序
语法格式:
// ASC 为升序(从小到大)
// DESC 为降序(从大到小)
// 一般默认为 ASCselect 列名 from 表名 order by 列名;
(注意:order是一个关键字)
最后一个列名就是排序的依据(不一定出现在select的列名中,order by也是针对临时表进行排序)
如果一个查询语句没有order by,此时查询到的临时表,数据之间的顺序是不可以期望的。(mysql没有承诺一定要保持一种顺序)一定是要使用order by才能够明确制定一个顺序。
NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面;
操作代码:
1、升序(默认,asc)
通过id对于数据信息进行升序排序
select * from chengyuan order by id;
2、降序(desc)
通过id对于数据信息进行升序排序
select * from chengyuan order by id desc;
2.7.2 使用表达式及别名排序
使用表达式语法:
select id + 100,name,id from chengyuan order by id desc;
使用别名:
select id ,name,id +10 newId from chengyuan order by id desc;
2.7.3 可以对多个字段进行排序,排序优先级随书写顺序
语法展示:
select * from chengyuan order by name,id desc;
1、使用字符串name进行排序,但是排序的内容不是按照中文字典进行排的序。
2、Order by可以指定多个列来进行排序,在指定多个列的时候,也是有优先级的,前面的列,优先级高,后面的列优先级低。当优先级列的数值相同的时候,才会比较优先级低的列。
2.8 条件查询:WHERE
2.8.1 运算符的介绍
比较运算符如下图所示:
逻辑运算符:
注意事项:
WHERE条件可以使用表达式,但不能使用别名。
AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分案例
2.8.2 基本查询
//查询id小于3的成员的名字( id< 60 ) SELECT name FROM chengyuan WHERE id < 3;
结果如下图所示:
2.8.3 AND与OR
语法如下:
//查询id大于1分,且id小于4的成员, //也可以使用between。。。and的语句使用,详见于后面 SELECT * FROM chengyuan WHERE id > 1 and id < 4;//查询id小于1分,或id大于3的成员 SELECT * FROM chengyuan WHERE id < 1 or id > 3;
结果如下图所示:
2.8.4 范围查询
BETWEEN … AND …
语法如下:
//查询id大于1分,且id小于4的成员, //也可以使用between。。。and的语句使用 SELECT * FROM chengyuan WHERE id between 1 and 3;
结果展示:
IN
语法代码:
// 查询id是 1 或者 2 或者 3 的成员 SELECT * FROM chengyuan WHERE id IN (1, 2, 3);
结果展示:
2.8.5 模糊查询:LIKE
代码如下:
// % 匹配任意多个(包括 0 个)字符 SELECT name FROM chengyuan WHERE name LIKE '王%';-- 匹配到孙悟空、孙权// _ 匹配严格的一个任意字符 SELECT name FROM chengyuan WHERE name LIKE '王_';-- 匹配到孙权
结果展示:
2.8.6 NULL 的查询
IS [NOT] NULL
语法如下:
// 查询 name已知的同学姓名 SELECT * FROM chengyuan WHERE name IS NOT NULL;// 查询 name未知的同学姓名 SELECT * FROM chengyuan WHERE name IS NULL;
结果展示:
2.9 分页查询
LIMIT 关键字的用法:
关键字limit,来限制这次请求返回多少个记录(一页里面有几条)
分页查询则是最合适的能解决上述问题的方案,分页查询可以限制这一次查询最大查多少个记录。
-- 起始下标为 0-- 从 0 开始,筛选 2 条结果 SELECT * FROM chengyuan LIMIT 2;-- 从 2 开始,筛选 2 条结果 SELECT * FROM chengyuan LIMIT 2, 2;-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用 SELECT * FROM chengyuan LIMIT 2, OFFSET 2;
结果如下:
3. 修改(Update)
update的操作都不是临时表,都是改为硬盘数据了,且Update也是一个危险的操作,sql没有相关的撤回操作。(无论是备份,还是恢复,都是有成本的,因为数据库里面数据很多,同时再恢复数据库的时候,数据库无法给外界提供服务,相当于数据库宕机)。
语法格式:
Update 表名 set 列名 = 值 where 条件;
语法代码:
// 将zhoushiyu的id变更为 0 UPDATE chengyuan SET id = 0 WHERE name = 'zhoushiyu';-- 将id变为 0的成员改为曾艳芬 UPDATE chengyuan SET name = '曾艳芬' WHERE id = 0;
操作结果:
where 条件:指的是修改哪一行?
我们进行修改,要定位到行和列在进行修改。如果不写条件,就是针对所有的行和列。
4. 删除(Delete)
Delete from 表名 where 条件、order by 、limit;(把条件匹配符合要求的记录给删除掉)
//删除id = 2 的袁一琦这一行的chengyuanbiao delete from chengyuan where id = 2;
结果展示:
Drop table是吧表本身和表里的数据都给删除了;
Delete只是把表里的数据删除了。
ps:本次的内容就到这里了,如果大家感兴趣的话,就请一键三连!!!
相关文章:

MySQL表的增删改查(初阶)
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查(CRUD,create,retrieve,update,delete)数据库的核心模块。 1. 新增(Create) 实…...

搜维尔科技:关于“第九届元宇宙数字人设计大赛”线上+线下巡回宣讲本周高校行程通告!
为了让大家更全面地了解此次大赛,顺利地进行大赛的报名和参赛,组委会遴选了一批优秀讲师代表,组建了宣讲团,以线上线下的方式陆续开展巡回宣讲。宣讲兼顾不同学生群体的需求,结合在数字人设计制作的过程中常见的疑难点…...

Gemini 1.0:Google推出的全新AI模型,改变生成式人工智能领域的游戏规则!
Gemini 1.0:Google推出的全新AI模型,将改变生成式人工智能领域的游戏规则! 🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 …...
excel打开并操作CAD(excel-vba实现)_另附:CAD打开excel
excelvba可实现调用cad应用程序,并通过excel内置api弹窗实现打开、另存CAD 文件(cad-vba弹窗功能较为麻烦),代码如下(在excel_vba环境下操作): Sub excel_vba打开另存并操作CAD文件() Dim cad …...
Prolist组件实现动态竖排展示
实现原理:主要是利用外层div属性display:"flex",overflowX: auto,配合内层prolist样式属性flex:"0 0 auto",overflowX:"auto",width:"350px",height:900,实现动态竖排展示 <div style{{display:…...

基于JAVA的海南旅游景点推荐系统 开源项目
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统ÿ…...

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用
【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用 1)框架介绍与引入1.1.🚀 什么是 StreamPark1.2.🎉 Features1.3.🏳🌈 组成部分1.4.引入 StreamPark 2)安装部署2.1.环境要求2.2.Hado…...

【STM32】STM32学习笔记-LED闪烁 LED流水灯 蜂鸣器(06-2)
00. 目录 文章目录 00. 目录01. GPIO之LED电路图02. GPIO之LED接线图03. LED闪烁程序示例04. LED闪烁程序下载05. LED流水灯接线图06. LED流水灯程序示例07. 蜂鸣器接线图08. 蜂鸣器程序示例09. 下载10. 附录 01. GPIO之LED电路图 电路图示例1 电路图示例2 02. GPIO之LED接线图…...

docker服务启动报错docker.service holdoff time over, scheduling restart.
docker服务启动报错docker.service holdoff time over, scheduling restart. 卸载docker 卸载安装包 yum remove -y docker docker-client docker-client-latest docker-ce-cli docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinu…...
cfa一级考生复习经验分享系列(八)
先分析一下CFA Level 1内容,考试总体难度并不大,每门课程都比大学本科开设的对应课程简单,但是因为有十门课综合在一起,知识点相对算比较多,内容较多。但对知识点的掌握要求不高,理解即可。比如财报&#x…...
React中的事件处理
React中的事件处理 亲爱的同学们,今天我们将一起探索React中的一个非常实用的话题:事件处理。当我们谈论事件处理,我们指的是在用户与我们的应用程序交互时发生的各种情况,比如点击一个按钮或是提交一个表单。这些动作是我们如何让…...

德人合科技 | 公司电脑文件加密系统
公司电脑文件加密系统是一种可以对电脑文件进行加密的保护机制。它使用驱动层透明加密技术,能够在用户无感知的情况下对文件进行加密,从源头上保障数据安全和使用安全。 PC端访问地址: www.drhchina.com 此类系统主要有以下几个特点和功能&a…...

FinalShell的下载、安装及基本使用
一:引言 FinalShell 是一体化的的服务器,网络管理软件,不仅是 ssh 客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求. 主要特性: 1.多平台支持 Windows,macOS,Linux 2.多标签,批量服务器管理. 3.支持登录 ssh 和 Windows 远程桌面. 4.漂亮的…...
华为实训课笔记 2023
华为实训 12/1312/1412/1812/19 12/13 ping 基于ICMP协议,用来进行可达性测试 ping 目的IP地址/设备域名(主机名) 如果能收到 reply 回复,则表示双方可以正常通信。一次正常的数据通信必须是有去有回。 <Huawei>用户视图&a…...
图灵日记之Leetcode链表中间结点牛客链表中倒数第k个结点Leetcode合并两个有序链表leetcode反转链表
题目 链表的中间结点原题入口题目内容题目解析思路一代码实现一思路二代码实现二 链表中倒数第k个结点题目链接题目内容思路代码实现 合并两个有序链表原题入口题目内容思路代码实现 反转链表题目传送入口题目内容思路一代码复现一思路二代码实现二 链表的中间结点 原题入口 …...

条款5:了解c++默默编写并调用了哪些函数
如果你不自己声明,编译器会替你声明(编译器版本的)拷贝构造函数、拷贝赋值运算符和析构函数。此外,如果你没有声明任何构造函数,编译器会为你声明一个默认构造函数。 class Empty{};本质上和写成下面这样是一样的: c…...

Apache RocketMQ 5.0 腾讯云落地实践
Apache RocketMQ 发展历程回顾 RocketMQ 最早诞生于淘宝的在线电商交易场景,经过了历年双十一大促流量洪峰的打磨,2016年捐献给 Apache 社区,成为 Apache 社区的顶级项目,并在国内外电商,金融,互联网等各行…...

FIFO的Verilog设计(三)——最小深度计算
文章目录 前言一、FIFO的最小深度写速度快于读速度写速度等于或慢于读速度 二、 举例说明1. FIFO写时钟为100MHz,读时钟为80Mhz情况一:一共需要传输2000个数据,求FIFO的最小深度情况二:100个时钟写入80个数据,1个时钟读…...

JavaWeb笔记之JavaWeb JDBC
//Author 流云 //Version 1.0 一. 引言 1.1 如何操作数据库 使用客户端工具访问数据库,需要手工建立连接,输入用户名和密码登录,编写 SQL 语句,点击执行,查看操作结果(结果集或受影响行数)。…...

pytorch网络的增删改
本文介绍对加载的网络的层进行增删改, 以alexnet网络为例进行介绍。 1. 加载网络 import torchvision.models as models alexnet models.alexnet(weightsmodels.AlexNet_Weights.DEFAULT) print(alexnet)2. 删除网络 在做迁移学习的时候,我们通常是在分类网络的…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
基于Java项目的Karate API测试
Karate 实现了可以只编写Feature 文件进行测试,但是对于熟悉Java语言的开发或是测试人员,可以通过编程方式集成 Karate 丰富的自动化和数据断言功能。 本篇快速介绍在Java Maven项目中编写和运行测试的示例。 创建Maven项目 最简单的创建项目的方式就是创建一个目录,里面…...
AT模式下的全局锁冲突如何解决?
一、全局锁冲突解决方案 1. 业务层重试机制(推荐方案) Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减(自动加全…...