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

avatar
作者
筋斗云
阅读量:3

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

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

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

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

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

在这里插入图片描述

前言

在上一篇文章中,我们主要学习了认识 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>. 语句分析

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

如果需要 删除指定行 时,就需要对用 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 条件] ;    

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

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

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!