【MySQL进阶之路丨第九篇】一文带你精通MySQL子句

这篇具有很好参考价值的文章主要介绍了【MySQL进阶之路丨第九篇】一文带你精通MySQL子句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

在上一篇中我们介绍了数据的插入与查询;在开发中,掌握数据的增删改查等操作和语句是十分重要的。
这一篇我们使用命令行方式来帮助读者掌握MySQL子句。

上一篇链接:MySQL | 数据的插入与查询


1️⃣MySQL WHERE 子句

MySQL 中的 WHERE 子句是用于在查询中筛选数据的部分。它允许您指定条件,以便仅返回满足条件的行。

简单来说, WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....

下面是一个使用 WHERE 子句的示例:

SELECT * FROM students WHERE age > 10;

上述语句将从名为 students 的表中选择所有年龄大于 10 岁的学生。在这个例子中,age > 10 是 WHERE 子句的条件。只有满足此条件的行才会被返回。

除了基本的比较运算符(如 ><=>=<=)之外,WHERE 子句还可以与以下逻辑运算符一起使用:

AND:指定多个条件都必须为真。
OR:指定多个条件中至少一个必须为真。
NOT:指定条件为否定。

举个例子:

SELECT * FROM employees WHERE age > 30 AND department = 'Sales';

以上查询将检索年龄大于 30 岁且所属部门为 “Sales” 的员工。

WHERE 子句还可以运用于 SQL 的 DELETE 或者 UPDATE 命令;与其他操作符和函数一起使用,如 LIKE 运算符用于模糊匹配、IN 运算符用于匹配特定值列表等等。

接下来开始MySQL实战

现存在一公司表,内容如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

要求1:查询年龄大于40且性别为男的成员

语句如下:

select * from company where gender = 'M' and age > 40;

结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

要求2:查询部门为marketing且年龄小于50的成员

语句如下:

select * from company where age < 50 and department = 'Marketing'

结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端
至此,WHERE子句内容就介绍完了。


2️⃣MySQL UPDATE 更新

如果需要修改或更新 MySQL 中的数据,可以使用 SQL UPDATE 命令来操作。

以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法:

UPDATE 表名
SET 列名1 =1, 列名2 =2, ...
WHERE 条件;

具体解释如下:

表名:要更新数据的表名。
列名1, 列名2, ...:要更新的列名列表,以逗号分隔。
值1, 值2, ...:要设置的新值列表,与列名列表中的列一一对应。
WHERE 条件:可选项,用于指定更新记录的条件。如果不指定条件,则将更新表中的所有记录。

UPDATE可以同时更新一个或多个字段。

UPDATE可以在一个单独表中同时更新数据。

举个例子:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

要将Eva的年龄和部门分别改为30和marketing,可以改为如下语句:

update company
set age = 30 , department = 'marketing'
where name = 'Eva'

结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端
至此,UPDATE内容就介绍完了。


3️MySQL DELETE 语句

使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。

以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:

DELETE FROM table_name [WHERE Clause]

注意: 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。

举个例子:

现要删除company表中部门为IT的成员

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

句子如下:

delete from company
where department='IT'

运行结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

至此,DELETE内容就介绍完了。


4️⃣ MySQL LIKE 运算子句

❄️在MySQL中,LIKE 运算符用于模糊匹配字符串。LIKE 运算符有两个通配符可以使用:
%:表示零个或多个字符的任意组合。
_:表示单个字符的任意值。

以下是 LIKE 运算符的语法:

SELECT 列名
FROM 表名
WHERE 列名 LIKE '模式';

具体解释如下:
列名:要匹配的列名。
表名:要从中选择数据的表名。
模式:指定要匹配的模式。可以使用通配符 %_

以下是一些示例,演示如何使用 LIKE 运算符进行模糊匹配:

1.匹配以 “a” 结尾的所有字符串:

SELECT * FROM 表名 WHERE 列名 LIKE '%a';

2.匹配以 “ab” 开头的所有字符串:

SELECT * FROM 表名 WHERE 列名 LIKE 'ab%';

3.匹配包含 “abc” 的所有字符串:

SELECT * FROM 表名 WHERE 列名 LIKE '%abc%';

4.匹配以 “a” 开头和以 “b” 结尾的所有字符串:

SELECT * FROM 表名 WHERE 列名 LIKE 'a%b';

5.匹配第二个字符为 “o” 的所有字符串:

SELECT * FROM 表名 WHERE 列名 LIKE '_o%';

如果要进行大小写不敏感的模糊匹配,可以使用其他函数或操作符,例如 COLLATEREGEXP

举个例子:

现要匹配company表中name列中含有ic的名字:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端
语句如下:

select name from company where name like '%ic%'

运行结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

至此,LIKE子句内容就介绍完了。


5️⃣ MySQL UNION 子句

在 MySQL 中,UNION 操作符用于合并多个 SELECT 语句的结果集,并返回一个去重的结果集。

UNION 操作符的语法如下:

SELECT1,2, ...
FROM 表名1
[WHERE 条件]
UNION [ALL]
SELECT1,2, ...
FROM 表名2
[WHERE 条件];

具体解释如下:

  • 列1, 列2, ...:要选择的列。
  • 表名1, 表名2:要从中选择数据的表名。
  • [WHERE 条件]:可选项,用于指定条件来筛选数据。
  • UNION:用于合并两个或多个 SELECT 语句的结果集。它将返回一个去重的结果集,即不包含重复行的结果。
  • ALL:可选项,用于保留所有 SELECT 语句的结果,包括重复行。

注意以下几点:

1.要使用 UNION 操作符,两个 SELECT 语句的列数必须相同,并且相应的列的数据类型必须兼容。

// 不合法的sql语句

SELECT1,2
FROM 表名1
UNION
SELECT1,2,3
FROM 表名2

2.UNION 操作符按照列的顺序进行合并,因此确保列的顺序匹配是很重要的。

3.默认情况下,UNION 操作符返回一个去重的结果集,如果希望保留重复行,请使用 UNION ALL。

举个例子:

目前存在两张表teacher1和teacher2

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端

要从两张表中提取职位为副教授的老师数据,语句如下:

select * from teacher1
where position = '副教授'
union
select * from teacher2
where position = '副教授'

结果如下:

【MySQL进阶之路丨第九篇】一文带你精通MySQL子句,MySQL进阶之路,mysql,数据库,sql,后端
至此,UNION子句内容就介绍完了。


6️⃣总结

以上为 【MySQL进阶之路丨第九篇】,带领读者掌握 MySQL 子句,通过具体实操实现对MySQL数据库的深度理解。

MySQL系列将持续更新,欢迎订阅收藏

我是秋说,我们下次见。文章来源地址https://www.toymoban.com/news/detail-713058.html

到了这里,关于【MySQL进阶之路丨第九篇】一文带你精通MySQL子句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL进阶之路丨第二篇】数据库的安装与配置

    下载地址:MySQL下载地址 进入网址后,点击 MySQL Community Server : 选择版本: 我们选择历史版本中的5.7.24版本 安装到D盘的MySQL文件夹中 解压后复制bin目录路径 在系统变量的Path中添加bin目录路径 接着在D:SoftwareMySQLmysql-5.7.24-winx64目录下新增加一个配置文件mysql.ini和一个data文

    2024年02月10日
    浏览(33)
  • MySQL篇---第九篇

    READ UNCOMMITTED(未提交读):事务中的修改,即使没有提交,对其他事务也都是可见 的。会导致脏读。 READ COMMITTED(提交读):事务从开始直到提交之前,所做的任何修改对其他事务都是 不可见的。会导致不可重复读。这个隔离级别,也可以叫做“不可重复读”。 REPEATABLE

    2024年02月07日
    浏览(27)
  • JavaScript系列从入门到精通系列第九篇:JavaScript中赋值运算符和关系运算符以及Unicode编码介绍

    文章目录 一:赋值运算符 1:= 2:+= 3:-= 4:*= 5:/= 6:%= 二:关系运算符  1:数值类型关系运算 (一): (二):= (三): (四):= 2:其他类型关系运算 三:Unicode编码表         =右侧的值可以赋值给左侧的变量。         上边这两个写法是一样的。                 

    2024年02月08日
    浏览(51)
  • 【JavaScript速成之路】一文带你初识JavaScript

    📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 📜前言:从今天开始,小杨就开始了一个新的专栏【JavaScript速成之路】,该专栏主要向大家介绍一些JavaScript的基础语法,适合初学者阅读,希望大家能够通过该专栏的

    2024年02月01日
    浏览(26)
  • 【JavaScript速成之路】一文带你掌握DOM基础

    📃个人主页:「小杨」的csdn博客 🔥系列专栏:【JavaScript速成之路】 🐳希望大家多多支持🥰一起进步呀! 小杨在上一篇带着大家一起学习了JavaScript中的内置对象,JavaScript基础的语法就结束了,下面我们将继续学习JavaScript中的DOM,希望大家通过阅读此文快速掌握DOM。 1.

    2023年04月26日
    浏览(28)
  • java基础-----第九篇

    引用计数法:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计 数为0时可以回收, 可达性分析法:从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是不可用的,那么虚拟机就

    2024年02月10日
    浏览(32)
  • 【第九篇:接口自动化建设】

    不要问我为什这么晚发布,这可能是我有史以来加班最晚的时候了,啊啊啊 我们之前也说过进行接口自动化建设主要是为了自动化测试服务端的逻辑,客户端与后端交互使用的主要协议的就是http协议,这也是为什么我在开篇就和大家强调过相关的基本功的学习,学习这些基

    2024年02月03日
    浏览(32)
  • 【Linux从入门到精通】一文带你理解进程概念

        我们通过对上篇文章冯诺依曼体系结构对硬件进行讲解后, 本篇文章会对进程进行深入讲解。同时会讲解PCB(进程控制块)。希望本篇文章内容会对你有所帮助。 文章目录 一、再次理解操作系统 1、1 操作系统的作用 1、2 操作系统的管理 二、进程基本的概念 2、1 什么是

    2024年02月04日
    浏览(34)
  • 第九篇 API设计原则与最佳实践

    深入浅出HTTP请求前后端交互系列专题 第一章 引言-HTTP协议基础概念和前后端分离架构请求交互概述 第二章 HTTP请求方法、状态码详解与缓存机制解析 第三章 前端发起HTTP请求 第四章 前后端数据交换格式详解 第五章 跨域资源共享(CORS):现代Web开发中的关键机制 第六篇 提

    2024年01月23日
    浏览(29)
  • 【ZYNQ入门】第九篇、双帧缓存的原理

    目录 第一部分、基础知识  1、HDMI视频撕裂的原理 2、双帧缓存的原理 第二部分、代码设计原理 1、AXI_HP_WR模块 2、AXI_HP_RD模块 3、Block design设计 第三部分、总结 1、写在最后 2、更多文章         在调试摄像头的时候, 摄像头采集的图像的分辨率为2200*1125@30Hz ,因此摄像头采

    2024年01月24日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包