SQL LIKE 运算符2025年7月24日 | 阅读 10 分钟 LIKE 是结构化查询语言 (SQL) 中的一个逻辑运算符,用于在数据库中根据模式搜索数据。此 SQL 运算符在 WHERE 子句中使用,并可与以下三种语句结合使用:
它根据 SQL 查询中指定的模式过滤列中的记录。 以下是与 SQL LIKE 运算符结合使用或独立使用的两个通配符:
SQL 中 LIKE 运算符的语法在此语法中,SELECT 关键字用于选择我们要检索的列,FROM 关键字用于选择我们要从中选择列的表,WHERE 子句包含条件,LIKE 运算符用于搜索定义好的模式,而 pattern 是必须在 WHERE 子句之后指定的列中搜索的一系列字符。 注意:LIKE 运算符不区分大小写,这意味着如果您搜索 'google',它将返回包含 'Google'、'GOOGLE'、'GOogle' 等的输出。SQL 中 LIKE 运算符的示例在本文中,我们采用了以下不同的 SQL 示例,以帮助您理解如何使用 LIKE 运算符: 示例 1让我们采用以下 Employees 表,以帮助您分析带 % 符号的 LIKE 运算符。
i) 假设您想筛选出名字以“S”开头的员工记录。为此操作,您需要键入以下查询: 此查询在输出中显示以下表:
ii) 假设您想筛选出部门名称以“g”结尾的员工记录。为此操作,您需要键入以下查询: 此查询在输出中显示以下表:
iii) 假设您想显示部门名称以“C”开头并以“g”结尾的员工的姓名和薪资。为此操作,您需要键入以下查询: 此查询在输出中显示以下表:
iv) 假设您想从上述员工表中显示名字在任何位置包含字母“a”的所有员工记录。为此操作,您需要键入以下查询: 此查询在输出中显示以下表:
示例 2让我们采用以下 Students 表,以帮助您分析带 _ (下划线) 符号的 LIKE 运算符。
i) 假设您想显示名字在第二个位置包含“a”的所有学生记录。为此操作,您需要键入以下带下划线符号的查询: 此查询在输出中显示以下表:
ii) 假设您想访问名字至少包含 3 个字符且以字母“S”开头的学生记录。为此操作,您需要键入以下查询: 在此查询中,您需要在 S 字符后使用三次下划线。上述查询将在输出中显示以下表:
iii) 假设您想访问名字包含 2 位数字且以“5”结尾的学生的 Roll_No、Name 和 Marks。 上述查询将在输出中显示以下表:
在 UPDATE 语句中使用 Like在 SQL 中,我们也可以在 UPDATE 语句的 WHERE 子句中使用 LIKE 运算符。LIKE 运算符更新表中满足查询中指定模式的记录。 LIKE 与 UPDATE 语句的语法在上述语法中,UPDATE 关键字用于修改数据,SET 关键字用于选择列并为其赋予新值,而 WHERE 子句用于结合 LIKE 运算符给出基于模式的条件。 LIKE 与 UPDATE 语句的示例这里,我们采用了以下两个不同的 SQL 示例,以帮助您理解如何将 LIKE 运算符与 UPDATE 语句结合使用来更新表中的现有记录。 示例 1让我们采用以下 Projects 表,我们将使用它来展示如何使用 UPDATE 语句中的 LIKE 运算符与 % (百分号) 符号来更新记录。
i) 假设您想更新那些在 2024 年开始的项目状态。为此操作,您需要输入以下带百分号的查询: 上述查询将那些在 2024 年开始的项目状态设置为 Completed,如果您想查看表中的更改,则需要输入以下查询:
ii) 假设您想更新那些开始日期以“01”结尾的项目的结束日期。为此操作,您需要输入以下带百分号的查询: 上述查询将那些开始日期以“01”结尾的项目的结束日期设置为。如果您只想检索 Project_Name、Start_Date 和 Status 列并查看表中的更改,则需要输入以下查询:
iii) 假设您想更新那些项目名称以“cloud”开头(百分号)的项目状态。为此操作,您需要输入以下带百分号的查询: 上述查询将那些项目名称以“cloud”开头(百分号)的项目状态设置为“In Review”,如果您想查看表中的更改,则需要输入以下查询: 上述 SQL 查询将仅从 Projects 表中检索 Project_ID、Project_Name 和 Status 列。
示例 2让我们采用以下 Movies 表,它向您展示如何使用 _ (下划线) 符号的 LIKE 运算符与 UPDATE 语句来更新记录。
i) 假设您想更新那些标题的第二个字母是“n”的电影的 Genre。为此操作,您需要输入以下带下划线符号的查询: 上述查询将标题的第二个字母是“n”的电影的 Genre 设置为。如果您想查看表中的更改,则需要输入以下查询: 上述 SQL 查询将仅从 Projects 表中检索 Title 和 Genre 列。
ii) 假设您想更新那些标题以“pa”开头且长度为 8 个字符的电影的 Genre。为此操作,您需要输入以下带下划线符号的查询: 上述查询将那些标题恰好为 6 个字符的电影的 Genre 设置为,如果您想查看表中的更改,则需要输入以下查询: 上述 SQL 查询将仅从 Projects 表中检索 Title 和 Genre 列。
iii) 假设您想更新那些标题恰好为 6 个字符的电影的 Genre。为此操作,您需要输入以下带下划线符号的查询: 上述查询将那些标题恰好为 6 个字符的电影的 Genre 设置为,如果您想查看表中的更改,则需要输入以下查询: 上述 SQL 查询将仅从 Projects 表中检索 Title 和 Genre 列。
Like 与 DELETE 语句在 SQL 中,我们也可以在 DELETE 语句的 WHERE 子句中使用 LIKE 运算符。LIKE 运算符删除或移除表中与 SQL 查询中指定的模式匹配的记录。 LIKE 与 DELETE 语句的语法在上述语法中,DELETE 是一个用于从表中删除数据的关键字,WHERE 是一个用于应用条件的子句,而 LIKE 是一个用于基于给定模式匹配数据的运算符。 LIKE 与 DELETE 语句的示例这里,我们采用了以下示例,以帮助您理解如何使用 LIKE 运算符与 DELETE 语句结合使用,从数据库表中删除现有记录。 让我们采用以下 Products 表,它向您展示如何使用 % (百分号) 和 _(下划线) 符号的 LIKE 运算符来删除记录。
i) 假设您想从 Products 表中删除其 Category 以“nics”结尾的记录。 此查询删除了 Category 以“nics”结尾的产品的记录。
ii) 假设您想从 Products 表中删除产品名称恰好是 3 个单词的记录。 此查询删除了产品名称恰好是 3 个单词的产品的记录。
iii) 假设您想从 Products 表中删除产品名称的第三个字符是“k”的记录。 此查询删除了产品名称的第三个字符是“k”的产品的记录。
结论在本文中,我们学习了 SQL LIKE 运算符,它是一个与 WHERE 子句一起使用的运算符,用于在数据库中匹配特定模式。我们探讨了 % 和 _ SQL 通配符,它们用于匹配字符串数据中一个或多个字符。我们还了解了如何有效地将 LIKE 运算符与 SELECT、UPDATE 和 DELETE 语句结合使用,以根据模式匹配来筛选记录。 常见问题解答 (FAQs)1. LIKE 运算符在 SQL 中的作用是什么? 在 SQL 中,like 运算符用于 WHERE 子句,以在列中搜索指定的值。我们使用 LIKE 运算符定义值的模式。 2. LIKE 运算符区分大小写吗? LIKE 运算符的区分大小写取决于数据库。在 MySQL 中,默认情况下它不区分大小写,但在 PostgreSQL 或 SQL Server 中,它可能区分大小写。这取决于排序设置。 3. 如何在数字上使用 LIKE 运算符? 我们可以在数字上使用 LIKE 运算符,但在应用之前,数字会被转换为字符串。 4. LIKE 运算符在 SQL 查询中的工作原理是什么? SQL 中的 LIKE 运算符在返回字符串值之前匹配模式。如果模式是固定前缀,它会利用索引优化。如果模式是通配符,则会进行全表扫描。 5. 如果我想按字面意思搜索 % 或 _,如何转义通配符? 我们可以使用 ESCAPE 关键字来转义通配符。语法如下: 上面的代码匹配“100% off”之类的字符串。 |
我们请求您订阅我们的新闻通讯以获取最新更新。