LIKE操作符用于模糊查询,支持%(任意字符)和_(单个字符)通配符,可结合ESCAPE转义特殊字符,匹配时受排序规则影响,建议优化索引提升性能。

在 MySQL 中,LIKE 操作符用于在 WHERE 子句中进行模糊匹配,常用于搜索包含特定模式的字符串。它支持两个通配符:
%:匹配任意数量的字符(包括零个字符)_:匹配单个字符
1. 使用 % 进行模糊匹配
如果你想查找某个字段中包含指定内容的记录,可以使用 %。
示例:查找姓名中包含 “明” 的用户
SELECT * FROM users WHERE name LIKE ‘%明%’;
说明:
%明%:表示“明”前后可以有任意字符张明明、小明、明华 都会被匹配到
其他常见用法:
LIKE ‘李%’:以“李”开头的名字,如“李华”、“李白”LIKE ‘%峰’:以“峰”结尾的名字,如“志峰”、“高峰”
2. 使用 _ 匹配单个字符
_ 只匹配一个字符,适合固定长度的模糊查询。
示例:查找名字为两个字且第二个字是“强”的人
SELECT * FROM users WHERE name LIKE ‘_强’;
说明:
_强:第一个字符任意,第二个必须是“强”匹配“小强”,但不匹配“大强强”或“强哥”
3. 转义特殊字符
如果要查找的字符串本身包含 % 或 _,需要使用 ESCAPE 关键字指定转义符。
Replit Ghostwrite
一种基于 ML 的工具,可提供代码完成、生成、转换和编辑器内搜索功能。
93 查看详情
示例:查找用户名包含百分号 “%” 的记录
SELECT * FROM users WHERE name LIKE ‘%\%%’ ESCAPE ‘\’;
说明:
ESCAPE ‘\’ 表示反斜杠后的通配符被视为普通字符\% 就代表字面的 % 符号
同理,查找下划线:
SELECT * FROM users WHERE name LIKE ‘%\_%’ ESCAPE ‘\’;
4. 大小写敏感性说明
MySQL 的 LIKE 匹配是否区分大小写,取决于字段的排序规则(collation):
如果字段是 utf8mb4_general_ci(ci = case insensitive),则不区分大小写如果想强制区分大小写,可使用 BINARY
示例:区分大小写的匹配
SELECT * FROM users WHERE name LIKE BINARY ‘John%’;
这样只会匹配 “JohnDoe”,不会匹配 “johndoe”。
基本上就这些。LIKE 是最常用的模糊查询方式,简单直接,适合大多数场景。注意性能问题:在大表上对无索引字段使用 LIKE ‘%xxx’ 可能较慢,建议结合索引或考虑全文索引(FULLTEXT)优化搜索。不复杂但容易忽略细节。
以上就是mysql如何使用like模糊匹配的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1071309.html
微信扫一扫
支付宝扫一扫