MySQL通配符有哪些以及使用方法
时间:2025-08-07 来源:互联网 标签: PHP教程
在数据库查询中,模糊匹配是一种常见需求。例如,我们需要查找包含某个关键词的记录、匹配特定格式的字符串,或进行部分匹配。MySQL 提供了强大的字符串匹配功能,其中 通配符 是实现模糊查询的重要工具。通过 LIKE 运算符与通配符的结合使用,可以实现灵活的模式匹配。本文将详细介绍 MySQL 中的通配符种类及其使用方法,帮助开发者掌握如何高效地进行模糊查询。
一、MySQL 中的通配符种类
MySQL 支持两种主要的通配符:
百分号 %:匹配任意数量的字符(包括零个字符),常用于模糊匹配字符串的任意部分。
下划线 _:匹配单个字符,适用于格式固定、长度一致的模糊匹配。
这两个通配符通常与 LIKE 运算符结合使用,用于 SELECT、UPDATE、DELETE 等语句中,实现对数据库中字符串的模糊匹配。
二、使用 % 通配符进行模糊匹配
% 通配符可以匹配任意长度的字符,是 MySQL 中最常用的通配符之一。
基本用法:
SELECT*FROMusersWHEREnameLIKE'J%';该语句将匹配所有以字母 J 开头的姓名,如 John、Jack、Jennifer 等。
进阶用法:
匹配包含某个关键词的记录:
SELECT*FROMproductsWHEREdescriptionLIKE'%手机%';该语句将返回所有描述中包含“手机”一词的产品记录。
匹配以特定字符串结尾的记录:
SELECT*FROMemailsWHEREaddressLIKE'%@example.com';该语句将查找所有邮箱地址以 @example.com 结尾的记录。
注意事项:
% 可以出现在模式的任意位置;
通配符区分大小写取决于数据库的排序规则(默认不区分大小写);
在 NOT LIKE 中使用 % 可实现反向筛选。
三、使用 _ 通配符进行固定长度匹配
_ 通配符用于匹配一个固定位置的字符,适用于已知字符串长度和格式的场景。
基本用法:
SELECT*FROMcodesWHEREcodeLIKE'A_C';该语句将匹配所有以 A 开头、C 结尾,中间为任意一个字符的字符串,如 A1C、ABC、A@C 等。
典型应用场景:
查询固定格式的编码:
SELECT*FROMordersWHEREorder_idLIKE'2023_001';该语句将匹配如 2023A001、2023B001 等订单编号。
匹配特定长度的用户名:
SELECT*FROMusersWHEREusernameLIKE'user_';该语句将匹配如 user1、userA 等长度为5的用户名。
注意事项:
_ 只能匹配一个字符;
适用于数据格式较为固定、长度一致的字段;
通常与 LIKE 一起使用,不适用于正则表达式。
四、通配符与 LIKE 运算符的结合使用
MySQL 中的通配符必须与 LIKE 或 NOT LIKE 搭配使用,才能发挥模糊匹配的作用。
在 SELECT 查询中使用
SELECT*FROMcustomersWHEREcompanyLIKE'科技%';该语句将查找所有公司名以“科技”开头的客户。
在 UPDATE 语句中使用
UPDATEusersSETstatus='active'WHEREemailLIKE'%@gmail.com';该语句将更新所有使用 Gmail 邮箱的用户状态为“active”。
在 DELETE 语句中使用
DELETEFROMlogsWHEREmessageLIKE'%error%';该语句将删除所有日志信息中包含 “error” 的记录。
在 WHERE 条件中组合使用
SELECT*FROMemployeesWHEREnameLIKE'A__01';该语句将匹配如 A1201、Aab01 等长度为5、格式为 A 开头、结尾为 01 的姓名。
![]()
MySQL 中的通配符是实现模糊匹配的强大工具,主要包含 % 和 _ 两个通配符,分别用于匹配任意数量字符和单个字符。通过与 LIKE 运算符结合,可以实现灵活的字符串匹配,适用于数据筛选、更新、删除等操作。
以上就是php小编整理的全部内容,希望对您有所帮助,更多相关资料请查看php教程栏目。
-
空灵诗篇前期强势阵容推荐 空灵诗篇高胜率新手过渡阵容搭配指南 2026-01-11 -
《堡垒之夜》x《南方公园》任务攻略 怎么在卡特曼乐园乘坐 5 次游乐设施并完成所有任务 2026-01-11 -
技能点重置方法 刺客信条影技能点怎么重置 2026-01-11
-
拳皇97哪个最丑的人物 2026-01-11
-
迷失岛1二周目怎么解锁 迷失岛1怎么开启二周目方法 2026-01-11 -
自动售货机识别硬币,主要靠检测硬币的 蚂蚁庄园今日答案1月3日 2026-01-11