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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【大数据系列之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;


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
搜索推荐 关系型数据库 MySQL
MySQL 模糊查询新纪元:超越 LIKE+% 的高效探索
在数据库的日常操作中,模糊查询是一项不可或缺的功能,它允许我们根据不完全匹配的关键字来检索数据。传统上,MySQL 使用 LIKE 关键字配合 % 通配符来实现这一功能,虽然灵活但性能上往往不尽如人意,尤其是在处理大型数据集时。今天,我们将一起探索几种超越 LIKE+% 的模糊查询技术,以提升查询效率与用户体验。
22 2
|
15天前
|
关系型数据库 MySQL 大数据
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
教你使用Python玩转MySQL数据库,大数据导入不再是难题!
|
17天前
|
存储 JSON 关系型数据库
MySQL与JSON的邂逅:开启大数据分析新纪元
MySQL与JSON的邂逅:开启大数据分析新纪元
|
23天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之ODPS数据怎么Merge到MySQL数据库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
1月前
|
安全 关系型数据库 MySQL
揭秘MySQL海量数据迁移终极秘籍:从逻辑备份到物理复制,解锁大数据迁移的高效与安全之道
【8月更文挑战第2天】MySQL数据量很大的数据库迁移最优方案
139 17
|
29天前
|
消息中间件 数据采集 关系型数据库
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
36 1
|
29天前
|
数据采集 关系型数据库 MySQL
大数据-业务数据采集-FlinkCDC The MySQL server is not configured to use a ROW binlog_format
大数据-业务数据采集-FlinkCDC The MySQL server is not configured to use a ROW binlog_format
30 1
|
2月前
|
SQL 关系型数据库 MySQL
MySQL模糊查询二三事
在实际应用中,根据需求和实际数据情况,选择合适的模糊查询方法并优化查询模式,是确保查询效率和准确性的关键。复杂的查询模式往往需要详细的测试和调优,以达到最佳的性能与响应时效。
40 4
|
2月前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute操作报错合集之配置mysql数据源querysql模式,同步到MC时遇到报错,该怎么处理
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。

热门文章

最新文章