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

MYSQL-增删查改CRUD

目录

🌿前言:

🌿增-C-Create-新增

🧊单行数据+全列插入

🍋‍🟩语法:

🍋‍🟩演示:

🧊指定列插入

🍋‍🟩语法:

🍋‍🟩演示:

🧊多行插入

🍋‍🟩语法:

🍋‍🟩演示:

🌿删-D-Delete-删除

🧊语法

🧊以下面这个表为例

🧊删除name为马克的数据行

🧊删除语文成绩倒数前3的数据行

🧊注意:delete语句不支持写入limit偏移量和limit  offset

🍋‍🟩例如:​编辑

🌿查-R-Retrieve-查询,检索

🧊全列查询

🍋‍🟩全列查询基础语法:

🍋‍🟩演示:

🧊指定列查询:

🍋‍🟩语法:

🍋‍🟩演示:

🍋‍🟩题1:查询字段为表达式

🔎演示:

🍋‍🟩题2:常量表达式

🔎演示1:

🔎演示2:

🍋‍🟩题3:计算每个同学的所有成绩

🔎演示:

🍋‍🟩为查询结果指定别名

🔎演示1:

🔎演示2:

🔎演示3

🔎演示4

🧊结果去重查询

🍋‍🟩错误示例:

🍋‍🟩对数学成绩进行去重查询

🔎演示:

🍋‍🟩对id和数学成绩进行去重

🔎演示:

🧊排序查询

🍋‍🟩语法

🍋‍🟩对语文成绩进行升序查询

🍋‍🟩对语文成绩进行降序查询

🍋‍🟩没有对语文成绩指定升序还是降序查询

🍋‍🟩使用表达式及别名进行排序

🔎计算总分,然后升序排序(使用表达式)

🔎计算总分,然后升序排序(使用别名)

🧊条件查询(where-SQL语句执行顺序)

🍋‍🟩使用where条件的语法

🍋‍🟩查询语文成绩<=90的学生

🍋‍🟩查询语文成绩<=英语成绩的学生(两个 列 | 字段 是可以比较的)

🍋‍🟩查询总分在200以下的学生

🧊模糊查询

🍋‍🟩演示1:

🍋‍🟩总演示:

🧊分页查询

🍋‍🟩语法1:

🍋‍🟩语法2:

🍋‍🟩一般写法

🍋‍🟩偏移量也可以不写,默认就是0

🍋‍🟩使用offset关键字

🌿改-U-Update-更新

🧊语法:

🧊演示:

🍋‍🟩将白月魁的数学成绩改成100(原先是90分)

🍋‍🟩将数学成绩为85的学生都改成数学成绩为100

🍋‍🟩要改动的数据行,不只是改一列,而是要改动多列的数据

🌿运算符

🧊依据此下表:

🧊演示:

🍋‍🟩and

🍋‍🟩or

🍋‍🟩not(取反的意思)

🍋‍🟩注意点:

🧊拓展

🍋‍🟩如果我们要在一个区间进行查询呢?

🔎演示1:

🔎演示2:

🍋‍🟩可如果我们要查询的是某个成绩刚好是多少分的同学呢?

🔎演示:


🌿前言:

这是一篇对我而言比较重要的文章,因为刚入职的程序员大多数都是做这些CRUD的,我会用些简白的话来讲好这里的知识点,也方便我日后回顾吧

为了能更直白的讲解这些语法,我创建了一个学生表CRUD的相关操作都依靠此表进行!



🌿增-C-Create-新增

🧊单行数据+全列插入

🍋‍🟩语法:

insert   into  表名(字段1,字段2,字段3~~~)     values(数值1,数值2,数值3~~~)

也可以省略写成

insert   into  表名   values(数值1,数值2,数值3~~~)

🍋‍🟩演示:

🧊指定列插入

🍋‍🟩语法:

insert   into  表名(任意一个字段)     values(与任意字段相对应的值)

注意:只写任意个字段,其他没写的字段对应的数值就会为NULL

🍋‍🟩演示:

🧊多行插入

🍋‍🟩语法:

insert   into  表名(字段1,字段2,字段3~~~)     values(数值1,数值2,数值3~~~),(数值1,数值2,数值3~~~),(数值1,数值2,数值3~~~)~~~~~

🍋‍🟩演示:



🌿删-D-Delete-删除

🧊语法

delete from 表名   where 条件   order by   列   asc | desc  limit(偏移量,要查询几条)

删除操作较为简单,我就举上2个例子吧

🧊以下面这个表为例

🧊删除name为马克的数据行

🧊删除语文成绩倒数前3的数据行

🧊注意:delete语句不支持写入limit偏移量和limit  offset

🍋‍🟩例如:

大家需要注意下select语句支持写入limit偏移量limit  offset,而delete语句不支持!!



🌿查-R-Retrieve-查询,检索

🧊全列查询

🍋‍🟩全列查询基础语法:

select * from 表名

🍋‍🟩演示:

🧊指定列查询:

🍋‍🟩语法:

select     字段1,字段2~~~    from  表名

🍋‍🟩演示:

🍋‍🟩题1:查询字段为表达式

把所有学生的语文成绩+10

🔎演示:

🍋‍🟩题2:常量表达式

🔎演示1:

🔎演示2:

🍋‍🟩题3:计算每个同学的所有成绩

🔎演示:

注意:NULL与任何数运算都为NULL

🍋‍🟩为查询结果指定别名

🔎演示1:

🔎演示2:

🔎演示3

🔎演示4

🧊结果去重查询

🍋‍🟩错误示例:

这个我想的先查id,name,然后再对数学进行去重查询,然后这个SQL语法报错,说明这样不行,也就是正常查寻去重查询不能放在一个语句里会报错,这点须注意下

🍋‍🟩对数学成绩进行去重查询

🔎演示:

按照先后顺序来,后面的就给去重了,那么我们要思考下,如果有两个甚至是N个相同的呢,是只去重一个,还是N个呢?

所以我故意插入了数学成绩为90的

这是整体的数据

然后我们对数学进行去重查询时,发现,两个相同的都不见了

这说明当我们去重某个字段时,如果有N个对的数相同(也就是2N个数里两两相同),就会去重N个数,保留唯一的N数据

🍋‍🟩对id和数学成绩进行去重

🔎演示:

我们发现,这些数据一条都没去重,这是因为我们指定了id和math的去重,就规定了他们都要相同才能符合去重的语法!!

🧊排序查询

🍋‍🟩语法

select *   from 表名 order by  要排序的列      asc(升序)  |  desc(降序)

这里也可以不要 * ,看你自己想查询出来后咋样显示,我这里是显示整张表

那个要排序的列,无论是升序还是降序都会对那条整个行进行排序上的影响但不影响真实数据

🍋‍🟩对语文成绩进行升序查询

🍋‍🟩对语文成绩进行降序查询

🍋‍🟩没有对语文成绩指定升序还是降序查询

如果没有对语文成绩指定升序还是降序查询,SQL语法默认升序查询

🍋‍🟩使用表达式及别名进行排序

🔎计算总分,然后升序排序(使用表达式)

演示:

🔎计算总分,然后升序排序(使用别名)

演示:

再次提醒,NULL和任何数值运算都为NULL

🧊条件查询(where-SQL语句执行顺序)

🍋‍🟩使用where条件的语法

select  * from 表名 where  列名|表达式  运算符  条件

🍋‍🟩查询语文成绩<=90的学生

🍋‍🟩查询语文成绩<=英语成绩的学生(两个 列 | 字段 是可以比较的)

🍋‍🟩查询总分在200以下的学生

如果我们想使用别名呢

我们发现,明明我们已经起了个别名,为啥错了?其实这是因为SQL语句执行的顺序

为啥这个没报错???

好吧,SQL语句的执行顺序是这样的

1.先执行from,确定好表

2.执行where子句,过滤不符合条件的

3.执行select和from之间的子句

4.执行order by 子句

那么我们回到上面的这个语句

SQL语句执行顺序这个语句执行顺序

首先确定好了一个student的表,然后执行where子句的条件,可是total是谁?SQL语句不知道,因为需要执行完这个才执行select和from子句而我们初始化别名就是在这一步,就是这个道理,

就相当于,一个陌生人叫你的名字并让你免费给他一笔大的钱数,你会理他吗?是不是不会,这个也是同样的道理,SQL语句忽然发现有个total的陌生人,他就得报错!

🧊模糊查询

%  和   _

  %  表示任意,一个 _  表示一个字符

🍋‍🟩演示1:

不管用哪个,已知的字符不是最左边就得是最右边

我这里想查找白月魁这个学生,可是“月”不是最边上的字符,所以查不到,为空

🍋‍🟩总演示:

🧊分页查询

🍋‍🟩语法1:

 select 列名 from 表名 where 条件 order by 列   {升序asc|降序desc}   limit 偏移量,显示条数;

🍋‍🟩语法2:

 select 列名 from 表名 where 条件 order by 列   {升序asc|降序desc}   limit 显示条数 offset偏移量;

🍋‍🟩一般写法

🍋‍🟩偏移量也可以不写,默认就是0

🍋‍🟩使用offset关键字



🌿改-U-Update-更新

修改(更新)查询的语法不同需要重点记忆

🧊语法:

update    表名    set    要改的列(像math=90)      where条件等等

🧊演示:

🍋‍🟩将白月魁的数学成绩改成100(原先是90分)

🍋‍🟩将数学成绩为85的学生都改成数学成绩为100

这样所以数学成绩为85的学生都改成数学成绩为100了,

所以update set这个语句不只是改动一条数据行可以改动任何数量的符合条件的数据行

🍋‍🟩要改动的数据行,不只是改一列,而是要改动多列的数据

中间加个  ,符号就行



🌿运算符

🧊依据此下表:

🧊演示:

🍋‍🟩and

🍋‍🟩or

🍋‍🟩not(取反的意思)

🍋‍🟩注意点:

优先级:   not > and > or

🧊拓展

🍋‍🟩如果我们要在一个区间进行查询呢?

比如要在数学成绩在80<=X<=90的区间查询(between配合运算符

🔎演示1:

注意这个左右都是闭区间!!!

🔎演示2:


🍋‍🟩可如果我们要查询的是某个成绩刚好是多少分的同学呢?

比如,要查询数学成绩刚好是72,78,85的学生

🔎演示:

完结!!!

http://www.xdnf.cn/news/1330849.html

相关文章:

  • 遥感机器学习入门实战教程|Sklearn 案例④ :多分类器对比(SVM / RF / kNN / Logistic...)
  • 【C++】--指针与引用深入解析和对比
  • 2025 | 腾讯混元RLVMR颠覆强化学习:可验证推理奖励引爆AI智能体新范式!
  • 文本智能抽取:如何用NLP从海量文本中“炼“出真金?-告别无效阅读,让AI成为你的“信息炼金师
  • git 生成 Patch 和打 Patch
  • 在完全没有无线网络(Wi-Fi)和移动网络(蜂窝数据)的环境下,使用安卓平板,通过USB数据线(而不是Wi-Fi)来控制电脑(版本2)
  • 汽车ECU实现数据安全存储(机密性保护)的一种方案
  • 网页作品惊艳亮相!这个浪浪山小妖怪网站太治愈了!
  • uni-app跨端开发最后一公里:详解应用上架各大应用商店全流程
  • 云计算学习100天-第26天
  • 《CDN加速的安全隐患与解决办法:如何构建更安全的网络加速体系》
  • 【Ansible】变量、机密、事实
  • Ubuntu-安装Epics Archiver Appliance教程
  • ansible playbook 实战案例roles | 实现基于firewalld添加端口
  • 如何使用matlab将目录下不同的excel表合并成一个表
  • 四川方言语音识别数据集,1500小时合规真人采集,高质量标注助力ASR与大模型训练
  • CISP-PTE之路--10文
  • java17学习笔记
  • python numpy.random的基础教程(附opencv 图片转数组、数组转图片)
  • cv2.bitwise_and是 OpenCV 中用于执行按位与运算的核心函数,主要用于图像处理中的像素级操作
  • 计算机视觉 图片处理 在骨架化过程中,每次迭代都会从图像的边缘移除一层像素,直到只剩下单像素宽度的骨架
  • 【图像算法 - 19】慧眼识苗:基于深度学习与OpenCV的大棚农作物生长情况智能识别检测系统
  • Kubernetes集群安装部署--flannel
  • InnoDB为什么使用B+树实现索引?
  • 从繁琐到优雅:Java Lambda 表达式全解析与实战指南
  • 【Spring Boot把日志记录到文件里面】
  • sfc_os!SfcQueueValidationRequest函数分析之sfc_os!IsFileInQueue
  • Android面试指南(三)
  • STM32学习笔记15-SPI通信软件控制
  • 《Java 多线程全面解析:从基础到生产者消费者模型》