答案:MySQL 模糊查询使用 LIKE 配合 %(任意字符)和_(单个字符)通配符,支持 ESCAPE 处理特殊字符,需注意性能优化。

在 MySQL 中进行模糊查询时,主要使用 LIKE 关键字配合通配符来实现。掌握通配符的正确用法,能有效提升数据检索的灵活性和准确性。
常用的通配符及其作用
MySQL 支持两种主要通配符:
- %:匹配任意数量的字符(包括零个字符)
- _:匹配单个字符
例如,‘% 张 %’ 可以匹配所有包含“张”的姓名,而 ‘_张 ’ 则只匹配两个字且第二个字是“张”的名字,如“李张”、“王张”等。
实际应用场景举例
假设有一个用户表 user_info,其中 name 字段存储姓名:
- 查找姓“李”的用户:
SELECT * FROM user_info WHERE name LIKE ‘ 李 %’; - 查找名字为三个字且中间是“小”的用户:
SELECT * FROM user_info WHERE name LIKE ‘ 小_’; - 查找以“某”结尾的名字:
SELECT * FROM user_info WHERE name LIKE ‘% 某 ’;
特殊字符与转义处理
当需要查询的内容本身包含 % 或_时,必须使用转义字符避免被当作通配符处理。MySQL 默认的转义符是反斜杠,也可自定义。
- 查找包含下划线的用户名(如 test_user):
SELECT * FROM user_info WHERE name LIKE ‘test_user’ ESCAPE ”; - 使用自定义转义符(如 #):
SELECT * FROM user_info WHERE name LIKE ‘score#%’ ESCAPE ‘#’; —— 这样可查找以 ”score%” 为内容的数据
基本上就这些。合理使用 % 和_,再配合 ESCAPE 处理特殊场景,就能应对大多数模糊查询需求。注意 LIKE 查询在 大数据 量下可能性能较低,建议结合索引优化或考虑全文索引替代方案。不复杂但容易忽略细节。






























