迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

MySQL 在不区分大小写的搜索中使用 LIKE

作者:迹忆客 最近更新:2024/03/25 浏览次数:

本教程文章将向你展示如何使用 LIKE 运算符来搜索列。我们将向你展示如何正确使用它来包含满足特定标准的所有结果,无论值是大写还是小写。


在 MySQL 中使用 LIKE 进行不区分大小写的搜索

搜索表时,搜索表时总是在 WHERE 之后使用 LIKE 运算符。

这在搜索你不确定的术语时特别有用,例如前缀或字母模式,或者你是否想要包含满足特定条件的多个实例。

SELECT 语句之后,指定要搜索的表中的哪一列,添加 LIKE 运算符,后跟以下通配符:

  • % 通配符将查找以位于字母之后的字母开头的值。同样,如果% 符号放在字母之前,它将查找以字母结尾的值。
  • 下划线 (_) 通配符用于在使用 % 符号后将搜索限制为一个值。

你可以以不同的方式使用上述内容来产生不同的结果。下面的示例展示了如何使用两个通配符来搜索术语。

 CREATE TABLE car_models (
  brand TEXT NOT NULL,
  model TEXT NOT NULL
);
 
INSERT INTO car_models VALUES ('Toyota', 'Camry');
INSERT INTO car_models VALUES ('toyota', 'Corolla');
INSERT INTO car_models VALUES ('toyota', 'corolla');
INSERT INTO car_models VALUES ('Ford', 'Prefect');
INSERT INTO car_models VALUES ('Ford', 'fiesta');
 
SELECT * FROM car_models WHERE car_models.model LIKE '%cor%'

以上将仅返回包含该序列中字母 cor 的行。通过以 % 符号开始和结束,搜索仅限于按该顺序包含字母的单词。

| brand |  model  |
|-------|---------|
|toyota | Corolla |
|toyota | corolla |

搜索忽略大小写,仅搜索符合条件的值。你还可以运行以下语句,该语句返回包含字母 c 的所有模型。

SELECT * FROM car_models WHERE car_models.model LIKE '%C%'

输出:

| brand |  model  |
|-------|---------|
|Toyota |  Camry  |
|toyota | Corolla |
|toyota | corolla |
|Ford   | Prefect |

以下返回所有带有字母 c 的模型。但是,如果你想更具体一些,可以仅在字母 c 之后放置 % 符号,以返回以 c 开头的模型。

SELECT * FROM car_models WHERE car_models.model LIKE 'C%'

输出:

| brand |  model  |
|-------|---------|
|Toyota |  Camry  |
|toyota | Corolla |
|toyota | corolla |

MySQL 中区分大小写的搜索

如果要进行区分大小写的搜索,可以在 LIKE 运算符前添加 BINARY,搜索将区分大小写。

SELECT * FROM car_models WHERE car_models.model LIKE BINARY 'c%'

输出:

| brand |  model  |
|-------|---------|
|toyota | corolla |

所有以大写 C 开头的模型都被排除在搜索之外。


MySQL 中的正则表达式

值得学习如何使用正则表达式进行更具体的搜索。这些包括更多的特殊字符,如% 符号,允许你在搜索中执行更多操作。

它由 * 符号组成,允许出现以下情况,即它后面的值可以出现多次或根本不出现。另一方面,+ 号表示后面的字符需要至少出现一次。

REGEXPREGEXP_LIKE() 也可以在 MySQL 中用于行进特定模式。

上一篇:使用 Mysqldump 备份 MySQL 中的数据

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 Mysqldump 备份 MySQL 中的数据

发布时间:2023/05/09 浏览次数:217 分类:MySQL

本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。

更新 MySQL 表中的主键

发布时间:2023/05/09 浏览次数:171 分类:MySQL

本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。

在 MySQL 中获取命令历史记录

发布时间:2023/05/09 浏览次数:470 分类:MySQL

本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:151 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:310 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 MySQL 中转换为十进制

发布时间:2023/05/09 浏览次数:233 分类:MySQL

有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。

在 MySQL 中获取当前日期和时间

发布时间:2023/05/09 浏览次数:273 分类:MySQL

本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间

更改 MySQL 服务器中的 max_allowed_packet Size

发布时间:2023/05/09 浏览次数:252 分类:MySQL

本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便