mysql如何使用like进行模糊查询_mysql模糊匹配实例

张开发
2026/6/11 17:17:46 15 分钟阅读
mysql如何使用like进行模糊查询_mysql模糊匹配实例
%匹配任意长度字符_匹配单个字符前缀匹配abc%可走索引%abc或%abc%会全表扫描查特殊字符需ESCAPE转义全文检索应优先用FULLTEXT而非LIKE。LIKE 语法中通配符的含义和用法LIKE 的核心是两个通配符% 匹配任意长度含零字符_ 匹配单个任意字符。比如 %abc 匹配以 abc 结尾的字符串a_c 匹配第二位是任意字符、以 ac 开头结尾的三字符串。注意大小写是否敏感取决于字段的排序规则collation例如 utf8mb4_general_ci 不区分大小写而 utf8mb4_bin 区分。常见错误现象SELECT * FROM users WHERE name LIKE admin —— 这不是模糊查询等价于 admin漏掉通配符就失去模糊意义。避免全表扫描LIKE 左侧不能有通配符当模式以 % 开头如 %testMySQL 无法使用索引会触发全表扫描。只有形如 test% 的前缀匹配才可能走索引前提是该列建了 B-tree 索引。实操建议对高频模糊搜索字段优先考虑前缀匹配abc%并确保该列有索引若必须查后缀或中间匹配%abc%可考虑生成冗余字段如倒序存储 REVERSE(name)再建索引查 %cba中文场景下LIKE 对多字节字符支持正常但不要依赖它做全文语义匹配——应换用 FULLTEXT 索引 MATCH ... AGAINST转义特殊字符处理真实数据里的 % 和 _如果要查包含字面意义的 % 或 _比如用户昵称是 100%不加转义会导致误匹配。MySQL 用 ESCAPE 指定转义符例如 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手依托大模型帮助用户记录、整理和分析音视频内容体验用大模型做音视频笔记、整理会议记录。

更多文章