MySQL表的增删改查初阶(下篇)

news2024/11/25 10:37:24

本篇会加入个人的所谓鱼式疯言

❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言

而是理解过并总结出来通俗易懂的大白话,

小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.

🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!

在这里插入图片描述

前言

在上一篇文章中,我们主要学习了认识 CRUD 的概念,以及如何在表中 新增数据 ,然后对表中已有的数据进行一系列的 指定列查询表达式查询别名查询去重查询

小伙伴们可以慢慢回忆下哦,而在本篇文章中,重点将围绕着对指定的 中已有的数据进行 查询修改 删除 的。

目录

  1. 排序查询

  2. 条件查询

  3. 修改数据

  4. 删除数据

一. 排序查询

1. SQL语句

<1>. 降序排序

 select 指定列名 from 表名  order by 列名 desc ;

在这里插入图片描述

<2>. 升序排序

select  指定列名 from 表名 order by  [asc]  字段名;

在这里插入图片描述

2. 语句分析

  1. 对于 排序查询的标识关键字 就是后面 order by desc / asc
  1. 当我们需要指定一个表中的数据,按照某个字段的 大小顺序 进行 排序 时,需要升序就用 order by 字段名 asc 或者 order by 字段名 即可, 而降序就需要 order by 字段名 desc .。

3. 注意事项

当我们使用 order by 进行排序的时候,是要指明好 某个字段 的,而且这个字段的数据类型最好是 整型 ,虽然我们可以对名字进行排序,但这种排序是 没有意义 的。 (下图)

在这里插入图片描述

当我们对 null 排序时,默认为 0

在这里插入图片描述

二. 条件查询

提及条件查询, 小伙伴一定会回忆到我们 C语言Java 中学过的 条件语句 吧 ! ! !

那我们 SQL条件语句 是不是有异同呢 ,答案是 肯定 的 。

1. 指定查询

<1>. SQL语句

1). 指定单数据查询
select  指定列名  from  表名 where  列名 =  目标单个字段数据 ;

在这里插入图片描述

2) . 指定多数据查询
select 指定列 from  stu where 列名 in( 数据1,数据2 ...); 

在这里插入图片描述

<2>. 语句分析

对于 单点查询 的标识关键字就是 where 字段= 指定数据;

而对于多点查询 的标识关键字就是 where 列名 in( 数据1, 数据2,数据3) ;

所以小伙伴们注意区分哦

<3>. 注意事项

小伙伴们一定要注意在单数据查询 这里 判断某个数据 ,我们值需要一个等号即可, 不允许两个等号

在这里插入图片描述

2. 范围查询

<1>. SQL语句

1). 单范围查询

select 指定列名 from 表名 where 字段 >/>=/</<=  数据 ;

在这里插入图片描述

2). 否定查询

select 指定列名 from 表名 where 字段  !=   数据 ;

在这里插入图片描述

select 指定列名 from 表名 where   not  字段  =   数据 ;

在这里插入图片描述

3). 联合范围查询

SQL语句一 :

select 字段名  from stu   where   字段名 <= 数据1   && 字段名 >= 数据2 
&&   /  and  字段名 >= 数据2 ;

在这里插入图片描述

在这里插入图片描述

SQL 语句二

select 字段名 from stu  where 字段名 <= 数据1  ||  /  or  字段名 >= 数据2

在这里插入图片描述

在这里插入图片描述

SQL语句三 :

select 字段名 from stu  where   字段名  
between 左边界数据范围 and  右边界数据范围 ;

在这里插入图片描述

语句分析

当我们需要用范围查询时,要明白的就是

我们可以用 && 或者 and 来连接两个 相交 的范围

|| 或者 or 来连接两个 不相交 的范围 (和我们 Java 或者 C语言 的逻辑运算符的使用是 相同的 )

另外就是我们 between A and B关键字 ,他代表的含义就是在 两端都是闭区间 中查找符合的数据 ==> [A,B]

注意事项

在我们用 between… and… 时,我们就需要注意的是 : A 不能比 B 大,否则查出来的是 空值

在这里插入图片描述

主要原因: between... and... 本质上就是 A && B 这种情况才会出现 空集

关于是用符号 && / || 还是用英文单词 and / or , 小编个人觉得还是用 and / or , 因为英文单词 更简单明了直接告诉我们是 逻辑非 还是 逻辑与

3. null查询

<1>. SQL 语句

SQL 语句一 :

对于为 null 字段的查询

select 列名 from 表名 where 字段名 <=>  / is null ;

在这里插入图片描述

在这里插入图片描述

SQL 语句二

对于 非null 字段查询

select 字段名 from 表名  where 列名   not is  null

在这里插入图片描述

<2>. 语句分析

这里当 需要判断某列中 哪几行中 哪些为 null , 就可以带上 <=> null 或者 is null 这样的 关键字 来判断。

而当我们需要判断不为 null 时,我们就可以带上 is not null 这样的关键字来进行判断筛选

<3>. 注意事项

  1. 判断 非null 时, 我们不可以用 <> null 来判断
    否则就会出现空集 (下图)

在这里插入图片描述

  1. 判断 null 时,要注意的是不能够直接用 等号 来判断

否则也是 空集 (下图)
在这里插入图片描述

鱼式疯言

小编额外扩展

其实这里的 <><=> 可以相当于我们等号来查找某个单一的数据来用 (如下图)

<=> 等效于 =

在这里插入图片描述

<> 等效于 !=

在这里插入图片描述

4. 模糊查询

<1>. SQL语句

SQL语句一:

select 列名 from 表名 where 列名 like  ...%... ;

在这里插入图片描述

SQL语句二:

 select 列名 from 表名 where 列名 like  ..._... ;

在这里插入图片描述

<2>. 语句分析

在SQL中,我们的模糊查询的标识关键字就是 like % / _

like 不必多说,至少一个简单的关键字,这里小编重点解释 % 和 _

‘%’ 主要是泛指 零个字符 或者 一个或多个字符 , 所以 %A 就代表A前面有零个或多个字符 , %A% 就代表 A前面后面 都有 零个或多个字符 ,但 前提 是一定是要含有这个 A字符

‘_’ 主要泛指单纯的一个字符,每出现一个 _ 就代表一个一个字符 ,所以我们的 假如写成 _ _ _ A_ _ _ _ 就代表A前面有 三个字符 ,A后面有 四个字符,但同样也要包含 A

同时也可以 %和 _ 结合起来

在这里插入图片描述

<3>. 注意事项

  1. 这里的 模糊查询 ,我们一般只是对 字符串 这样的类型进行查询,像整型 类型 SQL 中是不支持 ,否则会 报错 (见下图)

在这里插入图片描述

  1. 我们只针对 字符串进行模糊查询 的时候,小伙伴一定别忘了 带上引号 来标识哦

鱼式疯言

对于以上 查询的真正实质 在于

我们 MySQL 背后会遍历整个数据表中的数据 ,只要 满足 where 后面条件的 就 留下不满足 的就 跳过, 最终把 满足的结果 都显示到我们的 新的列表 中。

三. 修改数据

1. 全行修改

<1>. SQL语句

update 表名 set   字段名 = 修改后的值;

在这里插入图片描述

2.指定行修改

update 表名  set  列名 = 修改后的数据 where  条件  ; 

在这里插入图片描述

3. 表达式修改

update 表名  set  列名 = 列名 + / - 需要增加或减少的数据  [where  条件]   ; 

在这里插入图片描述

<2>. 语句分析

修改操作 的标识关键字就是 updateset 一个用来 指定表 ,一个用来操作修改数据。

当我们需要指定 特殊的行 ,就可以使用 where 进行 条件的筛选 并且要进行 运算多少数据 ,就可以利用好我们的 表达式修改 来操作哦 💞 💞 💞 💞。

<3>. 注意事项

当小伙伴们看到 第一个操作是不是 很危险, 是的,如果我们没有用 where 指定对应的条件,就会一不小心把所有的该列的 数据都改掉 ,就有可能造成 不可挽回 的后果

所以小伙伴在修改数据表中的数据时, 一定千万要 慎重再慎重 哦 💥 💥 💥 💥

四. 删除数据

1. 全行删除

<1>. SQL语句

delete  from 表名;

在这里插入图片描述

2. 指定行删除

delete from 表名  where 条件;

在这里插入图片描述

<2>. 语句分析

数据表的删除操作的标识关键字就是 delete from

如果需要 删除指定行 时,就需要对用 where 来筛选出我们需要的 特点行 ,然后进行 删除

<3>. 注意事项

像我们第一种 删除操作 ,当我们不指定 where 时, 就是一种非常危险的操作,就会把 数据表所有 的数据进行 删除 ,我们就需要加上 where 来进行 筛选 哦。

对于 数据库删表 的操作本身就是一种非常 危险操作 , 所以小伙伴们一定要慎重再慎重 哦。

总结

在本篇文章中,我们总共收获了

  • 排序查询

  • 升序排序

select  列名    from 表名 order  by  列名  [asc]   ;  
  • 降序排序
select  列名    from 表名 order  by  列名  desc    ;  
  • 条件查询

  • 指定查询

select  列名 from  表名 where 列名= 数据 ;
  • 范围查询
select  列名 from  表名 where 列名 <=  / < 数据  

&&/ and / || / or 列名 >=  / > 数据  ;
select  列名 from  表名 where 列名 between 数据1   and  数据2  ;
  • 是否null 查询
  1. null 查询
select  列名 from  表名 where 列名 <=> / is  null ;
  1. 非null查询
select  列名 from  表名 where 列名  is not   null ;
  • 模糊查询
  1. % 查询
select 列名 from 表名 where 列名 like  %A%;
  1. _ 查询
select 列名 from 表名 where 列名 like  _ A _;
  • 修改数据
 update 表名 set 列名 = 修改后的数据  [where 条件] ;   
  • 删除数据
 delete from 表名  [where 条件] ;   

如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正

希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力 💖 💖 💖

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多重排序【今日题记】

多重排序 多重排序题目分析思路代码代码结构体知识多重排序 需要对多个条件进行排序,因此可以称之为多重排序。 题目 某生物实验室记录了n种(n<=1000)病毒信息,每种病毒都有编号、传染性和致病性三个基本信息,编号是1000-9999的人工编号,其中的传染性和致病性是用0-10…

SVN学习(002 svn冲突解决)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第20p-第p29的内容 冲突 产生冲突的操作 &#xff08;第一种 相互不影响的操作&#xff09; 用户1修改第二行 用户2修改第四行 用户1提交 用户2提交&#xff0c;提交的时候会提示版本已过时 这时将用…

力扣SQL 即时食物配送 II min函数 嵌套查询

Problem: 1174. 即时食物配送 II &#x1f468;‍&#x1f3eb; 参考题解 Code -- 计算立即配送的订单百分比 select round (-- 计算订单日期与客户偏好配送日期相同的订单数量sum(case when order_date customer_pref_delivery_date then 1 else 0 end) * 100 /-- 计算总订…

掌握Three.js:学习路线,成为3D可视化开发的高手!

学习Three.js可以按照以下路线进行&#xff1a; 基础知识&#xff1a; 首先要了解基本的Web开发知识&#xff0c;包括HTML、CSS和JavaScript。如果对这些知识已经比较熟悉&#xff0c;可以直接进入下一步。 Three.js文档&#xff1a; 阅读Three.js官方文档是学习的第一步。官…

如何下载和安装SQLynx数据库管理工具? (MySQL作为测试数据库)

目录 1. 官网下载 2. 安装软件 3. 启动SQLynx软件 4. 开始使用 5. 执行第一条SQL语句 6. 总结 SQLynx是一款先进的Web SQL集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为数据库管理、查询和数据分析设计。作为一个基于浏览器的工具&#xff08;同时也支持桌面…

掌握 NumPy:高效数组处理综合指南(第 1/2 部分)

掌握 NumPy&#xff1a;高效数组处理综合指南&#xff08;第 1/2 部分&#xff09; 文章目录 一、介绍二、什么是Numpy&#xff0c;我们为什么要使用它&#xff1f;三. 数组初始化四. 计算速度和内存使用量五、内存使用情况六、数据类型七、索引和切片 一、介绍 你们以前听说过…

连接和断开信号演示之二

代码; #include <gtk-2.0/gtk/gtk.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <glib-2.0/glib.h> #include <stdio.h>void button_press(GtkEventBox *ebox,GdkEventButton *event,GtkLabel *label) {const char *citem;switch(event->type…

[图解]建模相关的基础知识-15

1 00:00:01,030 --> 00:00:05,820 接下来&#xff0c;我们就开始讲解的知识点 2 00:00:05,830 --> 00:00:11,810 就是范式知识点 3 00:00:12,130 --> 00:00:17,490 关系这个理论里面&#xff0c;随着历史的发展 4 00:00:17,700 --> 00:00:21,280 它发展出很多的…

力扣随机一题 模拟+字符串

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】 题目&#xff1a; …

基于STM32的智能工厂环境监测系统

目录 引言环境准备智能工厂环境监测系统基础代码实现&#xff1a;实现智能工厂环境监测系统 4.1 数据采集模块4.2 数据处理4.3 控制系统实现4.4 用户界面与数据可视化应用场景&#xff1a;智能工厂管理与优化问题解决方案与优化收尾与总结 1. 引言 智能工厂环境监测系统通过…

【转】FreeRTOS通用移植,以keil和IAR工程 M7核为例

目录 keil: IAR keil: 原文在https://bbs.eeworld.com.cn/thread-1281875-1-1.html 本篇讲述移植FreeRTOS,并创建运行一个任务&#xff0c;对象芯片为M7系列的兆易创新GD32H7xx系列。 一.准备工作 1.下载FreeRTOS源码官网 http://www.freertos.org/ 或者托管网站FreeRTOS…

Vue71-嵌套(多级)路由

一、需求 二、开发步骤 2-1、编写路由组件 2-2、编写路由规则 2-3、编写路由标签<router-link>、<router-view> 三、小结

(vue3)基于vite+vue3+element-plus项目创建

(vue3)基于vitevue3element-plus项目创建 vue.js官方中文文档&#xff1a;https://cn.vuejs.org/guide/quick-start.html vite官方中文文档&#xff1a;https://cn.vitejs.dev/guide/ element-plus官网&#xff1a;https://element-plus.org/zh-CN/guide/installation.html 第…

Github 2024-06-19 C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-06-19统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9C++项目1Netdata: 开源实时监控平台 创建周期:4020 天开发语言:C协议类型:GNU General Public License v3.0Star数量:68982 个Fork数量…

echarts实现折线图点击添加标记

文章目录 背景一、代码示例 背景 业务场景体现在功能层面主要两点&#xff0c; 折线图表设置点击事件点击事件与图标渲染标记绑定 对于节点没有被添加标记的可以&#xff0c;弹框提示添加标记&#xff0c;并提供标记内容输入框&#xff0c;已经添加过标记的点&#xff0c;点…

python pynput实现鼠标点击两坐标生成截图

脚本主要实现以下功能&#xff1a; 按ctrl开始截图&#xff0c;点击两个坐标&#xff0c;保存截图tk输出截图文本信息&#xff0c;文本输出内容倒序处理默认命名为A0自增。支持自定义名称&#xff0c;自增编号&#xff0c;修改自定义名称自增重新计算清空文本框内容 from pyn…

笨蛋学算法之LeetCodeHot100_5_三数之和(Java)

package com.lsy.leetcodehot100;import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class _Hot6_三数之和 {public static List<List<Integer>> threeSum(int[] nums) {//先排序数组Arrays.sort(nums);//存放结果集List<Lis…

超强开源全能日程助手—揭秘FullCalendar

引言 FullCalendar 是一个广受欢迎的开源 JavaScript 库&#xff0c;用于在网页上展示和管理事件和日程。 它最初是基于 jQuery 开发的&#xff0c;但随着时间的推移&#xff0c;经过 v1~v6 版本的迭代后&#xff0c;它已经全面支持React、Vue 和 Angular 的版本。FullCalend…

【ARMv8/v9 GIC 系列 2.2 -- GIC SPI 中断的 GICD_ISACTIVER 和 GICD_ICACTIVER 配置】

文章目录 GIC 中断 Active 状态的配置中断状态分类GICD_ISACTIVER<n>GICD_ICACTIVER<n>参数 n 编号解释中断设置举例设置中断ID 68为活动状态清除中断ID 68的活动状态 小结 GIC 中断 Active 状态的配置 在ARMv8/ARMv9 体系结构中&#xff0c;GICD_ISACTIVER<n&…

2024年全国青少信息素养大赛python编程复赛集训第四天编程题分享

整理资料不容易,感谢各位大佬给个点赞和分享吧,谢谢 大家如果不想阅读前边的比赛内容介绍,可以直接跳过:拉到底部看集训题目 (一)比赛内容: 【小学组】 1.了解输入与输出的概念,掌握使用基本输入输出和简单运算 为主的标准函数; 2.掌握注释的方法; 3.掌握基本数…