MySQL LIKE 条件

2025年8月25日 | 阅读 4 分钟

在 MySQL 中,LIKE 条件用于执行模式匹配以查找正确的结果。它与 WHERE 子句 结合使用,可在 SELECTINSERTUPDATE DELETE 语句中使用。

当您不确定要搜索的值的正确拼写时,通常会使用它。它可以结合使用两个特殊字符:百分号 (%),称为通配符,以及下划线 (_),称为位置标记,与文字字符一起搜索值。

语法

参数

  • SELECT:用于从表中检索数据。
  • Table:表示从中检索数据的表的名称。
  • columnname: 用于比较值。
  • 模式 (Pattern): 这是一个包含模式匹配的字符表达式。
  • 转义字符 (escape_character): 这是可选的。它允许您测试通配符字符(如 % 或 _)的字面实例。如果您不提供转义字符,MySQL 会假定 "\" 是转义字符。

MySQL LIKE 示例

1) 使用 % (百分号) 通配符

考虑一个名为“officers”的表,其中包含以下数据。

MySQL LIKE Condition 1

执行以下查询

说明: 执行上述查询后,结果将如下所示。它将列出 "officers" 表中 officer_name 的详细信息,其中 officer 的地址以字符串 'Luck' 开头,并以任意数量的字符结尾。

输出: 运行此查询后,表的输出如下。

MySQL LIKE Condition 2

2) 使用 _ (下划线) 通配符

在此示例中,我们也使用相同的 "officers" 表。

执行以下查询

说明: 执行上述查询后,结果将如下所示。它将列出 "officers" 表中 officer_name 的详细信息,其中 officer 的地址以字符串 'Luc' 开头,后跟任意单个字符,然后是字符串 'now'。

输出: 运行此查询后,表的输出如下。

MySQL LIKE Condition 3

3) 使用 NOT 运算符

您也可以将 NOT 运算符与 MySQL LIKE 条件一起使用。此示例显示了 % 通配符与 NOT 运算符的用法。

考虑一个名为“officers”的表,其中包含以下数据。

MySQL LIKE Condition 4

执行以下查询

说明: 执行上述查询后,结果将如下所示。它将列出 "officers" 表中 officer_name 的详细信息,其中 officer 的地址不以字符串 'Luck' 开头。

输出: 运行此查询后,表的输出如下。

MySQL LIKE Condition 5

注意: 在上面的示例中,您可以看到只显示了地址 NOT LIKE 'Luck%' 的记录。

MySQL LIKE 运算符与 UPDATE 语句

以 Teachers 表为例,该表包含以下信息。如果我们想更新表中所有电子邮件地址以 gmail.com 结尾的记录,然后更新为 tpointtech.com。

TIDT_Name资格验证 (Qualification)Email_ID
1AnshuBCAanshu@gmail.com
2HarshitaMCAharshita@gmail.com
3拉曼 (Raman)Mtechraman@gmail.com
4RubyBCAruby@gmail.com
5SumanMCAsuman@gmail.com

示例

说明: 执行上述更新查询后,它将更新表中所有电子邮件地址以 gmail.com 结尾的记录,将其更新为 tpointtech.com。

输出: 运行此查询后,表的输出如下。

TIDT_Name资格验证 (Qualification)Email_ID
1AnshuBCAanshu@tpointech.com
2HarshitaMCAharshita@tpointech.com
3拉曼 (Raman)Mtechraman@tpointech.com
4RubyBCAruby@tpointech.com
5SumanMCAsuman@tpointech.com

MySQL LIKE 条件常见问题解答

1. 列出 MySQL LIKE 条件中使用的一些要点?

答案: 以下是使用 MySQL SELECT 语句中的 LIKE 条件时的一些要点。

  • 它是 MySQL 中基于模式的数据搜索的重要工具。
  • 下划线字符用于匹配单个字符,而百分号字符用于匹配字符串中的任意数量的字符。
  • 要查找与给定模式不匹配的数据,请使用 NOT LIKE 运算符。
  • 您可以使用 AND 或 OR 运算符定义多个条件。

2. MySQL NOT LIKE 运算符的目的是什么?

答案: 当我们想从搜索结果中排除特定数据并查找与特定模式不匹配的字符串时,它会很有用。

3. MySQL LIKE 运算符的各种替代方法有哪些?

答案: MySQL LIKE 运算符的各种替代方法有:

  • REGEXP
  • RLIKE

下一主题MySQL IN 条件