在数据库查询中,模糊匹配是一种常见需求。例如,我们需要查找包含某个关键词的记录、匹配特定格式的字符串,或进行部分匹配。MySQL 提供了强大的字符串匹配功能,其中 通配符 是实现模糊查询的重要工具。通过 LIKE 运算符与通配符的结合使用,可以实现灵活的模式匹配。本文将详细介绍 MySQL 中的通配符种类及其使用方法,帮助开发者掌握如何高效地进行模糊查询。
MySQL 支持两种主要的通配符:
百分号 %:匹配任意数量的字符(包括零个字符),常用于模糊匹配字符串的任意部分。
下划线 _:匹配单个字符,适用于格式固定、长度一致的模糊匹配。
这两个通配符通常与 LIKE 运算符结合使用,用于 SELECT、UPDATE、DELETE 等语句中,实现对数据库中字符串的模糊匹配。
% 通配符可以匹配任意长度的字符,是 MySQL 中最常用的通配符之一。
基本用法:
SELECT * FROM users WHERE name LIKE 'J%';该语句将匹配所有以字母 J 开头的姓名,如 John、Jack、Jennifer 等。
进阶用法:
匹配包含某个关键词的记录:
SELECT * FROM products WHERE description LIKE '%手机%';该语句将返回所有描述中包含“手机”一词的产品记录。
匹配以特定字符串结尾的记录:
SELECT * FROM emails WHERE address LIKE '%@example.com';该语句将查找所有邮箱地址以 @example.com 结尾的记录。
注意事项:
% 可以出现在模式的任意位置;
通配符区分大小写取决于数据库的排序规则(默认不区分大小写);
在 NOT LIKE 中使用 % 可实现反向筛选。
_ 通配符用于匹配一个固定位置的字符,适用于已知字符串长度和格式的场景。
基本用法:
SELECT * FROM codes WHERE code LIKE 'A_C';该语句将匹配所有以 A 开头、C 结尾,中间为任意一个字符的字符串,如 A1C、ABC、A@C 等。
典型应用场景:
查询固定格式的编码:
SELECT * FROM orders WHERE order_id LIKE '2023_001';该语句将匹配如 2023A001、2023B001 等订单编号。
匹配特定长度的用户名:
SELECT * FROM users WHERE username LIKE 'user_';该语句将匹配如 user1、userA 等长度为5的用户名。
注意事项:
_ 只能匹配一个字符;
适用于数据格式较为固定、长度一致的字段;
通常与 LIKE 一起使用,不适用于正则表达式。
MySQL 中的通配符必须与 LIKE 或 NOT LIKE 搭配使用,才能发挥模糊匹配的作用。
在 SELECT 查询中使用
SELECT * FROM customers WHERE company LIKE '科技%';该语句将查找所有公司名以“科技”开头的客户。
在 UPDATE 语句中使用
UPDATE users SET status = 'active' WHERE email LIKE '%@gmail.com';该语句将更新所有使用 Gmail 邮箱的用户状态为“active”。
在 DELETE 语句中使用
DELETE FROM logs WHERE message LIKE '%error%';该语句将删除所有日志信息中包含 “error” 的记录。
在 WHERE 条件中组合使用
SELECT * FROM employees WHERE name LIKE 'A__01';该语句将匹配如 A1201、Aab01 等长度为5、格式为 A 开头、结尾为 01 的姓名。
![]()
MySQL 中的通配符是实现模糊匹配的强大工具,主要包含 % 和 _ 两个通配符,分别用于匹配任意数量字符和单个字符。通过与 LIKE 运算符结合,可以实现灵活的字符串匹配,适用于数据筛选、更新、删除等操作。
声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com
基于大模型能力构建的文本审核服务,能够高效精准地识别各类文本违规内容。与传统文本内容安全审核方案相比,具备更强大的语言理解与分析能力,能精准识别复杂、隐晦的违规内容,突破了传统模式的局限。
基于图片审核大模型服务,能够全方位识别图片中的色情、性感、涉政、暴恐、违禁、宗教、引流广告、不良等违规内容,并支持返回大模型的审核结果。结合大模型和专家小模型,提供更细粒度的标签(如色情细分、具体行为、特定物体等),识别范围更广、标签更丰富。 综合效果最佳,适合对误判率、漏判率都有较高要求的场景。
针对AIGC场景,检测AIGC生成的图片是否存在违规或者不宜传播的内容。建议AIGC生成的图片都进行该项检测。
检测图片是否疑似由AI生成合成、图片是否含有AI生成合成隐式标识(如果有隐式标识时支持返回图片AIGC元数据信息)。
根据身份证/手机号进行核验号码是否有涉险诈骗风险。