MySQL LIKE子句

195 阅读1分钟

MySQL 中的 LIKE 子句是一个非常有用的工具,用于在 SELECT, UPDATE, INSERT, DELETE 语句中根据特定模式搜索数据。

LIKE 子句使用两个通配符:

  1. 百分号 %:代表零个、一个或多个字符。
  2. 下划线 _:代表一个单一的字符。

以下是一些示例:

  • 要选取 name 列以字母"a"开头的所有列,你可以使用:
SELECT * FROM table_name WHERE name LIKE 'a%';
  • 要选取 name 列以 "on" 结尾的所有列,你可以使用:
SELECT * FROM table_name WHERE name LIKE '%on';
  • 要选取 name 列包含 "on" 的所有列,你可以使用:
SELECT * FROM table_name WHERE name LIKE '%on%';
  • 要选取 name 列第三个字母是 "a" 的所有列,你可以使用:
SELECT * FROM table_name WHERE name LIKE '__a%';

以上下划线__代表两个字符。

请注意,LIKE 子句是大小写不敏感的。如果你想进行大小写敏感的比较,可以使用 BINARY 关键词,如:

SELECT * FROM table_name WHERE BINARY name LIKE 'a%';

此查询会返回所有以字母 "a"(小写)开头的行,而忽略以字母 "A"(大写)开头的行。

LIKE 是一个强大的工具,尤其是当你需要基于不完全匹配进行搜索时。在进行模式搜索时,请一定要理解防止 SQL 注入的重要性,并采取适当的防护措施。