【大数据系列之MySQL】(十三):MySQL模糊查询

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【大数据系列之MySQL】(十三):MySQL模糊查询

MySQL中给出了4个关键字来实现模糊查询,分别是:

like
betewwn and
in
is null(is not null)

1.like用法

like通常与通配符(_%)一起使用,用于模糊查询数据

例1:查询员工名中包含字符a的员工信息

SELECT
  * 
FROM
  employees 
WHERE
  last_name LIKE '%a%';

其中 % 这个字符是通配符,代表任意数据,可以为空

例2:查询员工名字第二个字符为a的员工信息

SELECT
  * 
FROM
  employees 
WHERE
  last_name LIKE '_a%';

其中 _ 也是通配符,代表占位符,可以指代一个字符用于占位,如果我们希望数据中存在 %_ 这两个字符,只需要进行转义即可:

例3:查询名字中以 _ 结尾的员工信息

由于我们的数据中存在通配符,所以此时需要进行转义,利用反斜线

# 写法一
SELECT
  * 
FROM
  employees 
WHERE
  last_name LIKE '%\_';
# 写法二,利用ESCAPE关键字指定转义字符,下面的$可以换成任意字符
SELECT
  * 
FROM
  employees 
WHERE
  last_name LIKE '%$_' ESCAPE '$';

2.between and用法

这个查询是用于获得数值落在某个区间的数据信息,between and是包含区间值的

例1:查询员工编号在100到120之间的员工信息

# 写法一
SELECT
  * 
FROM
  employees 
WHERE
  employee_id >= 100 
  AND employee_id <= 120;
# 写法二
SELECT
  * 
FROM
  employees 
WHERE
  employee_id BETWEEN 100 
  AND 120;

3.in关键字

MySQL中的in和Python中的in关键字是一样的,都是判断给定内容是否存在另外一个集合当中,MySQL当中就是如果存在则返回true,对应的记录返回。

例1:获取红色的花或者蓝色的花

# 方式一:使用逻辑或
SELECT
  * 
FROM
TABLE 
WHERE
  flower = 'red' 
  OR flower = 'blue';
# 方式二:使用关键字in
SELECT
  * 
FROM
TABLE 
WHERE
  flower IN ( 'red', 'blue' );

4.is null用法

在很多情景中,我们想要查出某字段为空的记录,所以很容易写出下面的方式:

SELECT
  * 
FROM
  employees 
WHERE
  commission_pct = NULL;

这种写法是错误的,因为MySQL中的等号不能够判断NULL,只能通过关键字 is null来判断是否为空

# 正确写法
SELECT
  * 
FROM
  employees 
WHERE
  commission_pct IS NULL;

5.安全等于<=>

对于MySQL对null空类型是无法使用条件运算符进行比较的,要判断null就需要使用关键字is null,为了将这二者结合,提出了安全等于,就是可以用它判断数值信息是否相等或者是否为空。

SELECT
  * 
FROM
  employees 
WHERE
  commission_pct <=> NULL;


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
64 3
|
3月前
|
消息中间件 分布式计算 关系型数据库
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
大数据-140 - ClickHouse 集群 表引擎详解5 - MergeTree CollapsingMergeTree 与其他数据源 HDFS MySQL
74 0
|
3月前
|
消息中间件 关系型数据库 MySQL
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
292 0
|
4月前
|
搜索推荐 关系型数据库 MySQL
MySQL 模糊查询新纪元:超越 LIKE+% 的高效探索
在数据库的日常操作中,模糊查询是一项不可或缺的功能,它允许我们根据不完全匹配的关键字来检索数据。传统上,MySQL 使用 LIKE 关键字配合 % 通配符来实现这一功能,虽然灵活但性能上往往不尽如人意,尤其是在处理大型数据集时。今天,我们将一起探索几种超越 LIKE+% 的模糊查询技术,以提升查询效率与用户体验。
440 2
|
5月前
|
存储 JSON 关系型数据库
MySQL与JSON的邂逅:开启大数据分析新纪元
MySQL与JSON的邂逅:开启大数据分析新纪元
|
5月前
|
关系型数据库 MySQL 大数据
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
136 1
|
5月前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
消息中间件 数据采集 关系型数据库
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
74 1
|
1天前
|
缓存 关系型数据库 MySQL
【深入了解MySQL】优化查询性能与数据库设计的深度总结
本文详细介绍了MySQL查询优化和数据库设计技巧,涵盖基础优化、高级技巧及性能监控。
13 0
|
28天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
59 3