LIKE用于MySQL模糊查询,支持%(任意字符)和_(单字符)通配符,如'张%'查开头、'%明%'查包含、'_华'查结尾,可组合使用;区分大小写由排序规则决定,可用BINARY强制区分,含%或_时需ESCAPE转义,注意性能影响。

在 MySQL 中,LIKE 操作符用于在 WHERE 子句中进行模糊匹配查询,常用于查找包含特定模式的字符串。它支持使用通配符来代替一个或多个字符,是处理文本搜索时非常实用的功能。
基本结构如下:
SELECT 列名 FROM 表名 WHERE 列名 LIKE 模式;
模式中可以使用两个主要通配符:
假设有一个用户表 users,包含字段 name,以下是一些常见用法:
1. 以某个词开头
SELECT * FROM users WHERE name LIKE '张%';
查找名字以“张”开头的所有记录,如“张三”、“张伟”等。
2. 包含某个词
SELECT * FROM users WHERE name LIKE '%明%';
查找名字中包含“明”的所有记录,如“小明”、“明明”、“李明”等。
3. 以某个词结尾
SELECT * FROM users WHERE name LIKE '%华';
查找名字以“华”结尾的记录,如“建华”、“志华”等。
4. 匹配固定长度的字符串(使用 _ )
SELECT * FROM users WHERE name LIKE '张_';
查找姓“张”且名字为两个字的记录,比如“张三”、“张伟”,但不包括“张小三”。
5. 组合使用 _ 和 %
SELECT * FROM users WHERE name LIKE '张_%_';
查找姓“张”且名字至少有两个字以上的记录(总共至少三个字),如“张小明”、“张建国”等。
MySQL 的 LIKE 查询默认是否区分大小写,取决于字段的字符集和排序规则(collation):
如果需要强制区分大小写,可使用 BINARY:
SELECT * FROM users WHERE name LIKE BINARY 'zhang%';
如果要查找的内容本身包含 % 或 _,需使用 ESCAPE 关键字指定转义符:
SELECT * FROM products WHERE description LIKE '%50\%' ESCAPE '\';
此查询会匹配包含 “50%” 的描述内容,其中反斜杠 \ 将 % 转义为字面意义。
基本上就这些。LIKE 是日常开发中最常用的模糊查询方式,掌握好通配符的使用能大幅提升数据检索效率。注意在大数据量表中使用 LIKE '%xxx' 可能影响性能,建议配合索引或考虑全文索引方案。
以上就是mysql中LIKE模糊查询如何书写_mysql LIKE语法教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号