mysql通配符%代表什么_mysql通配符百分号的具体含义与用法

来源:这里教程网 时间:2026-02-28 20:22:51 作者:

在 MySQL 中,通配符 %(百分号)用于模糊匹配字符串,主要配合 LIKENOT LIKE 操作符使用。它代表任意数量的字符,包括零个字符、一个字符或多个字符。

通配符 % 的基本含义

% 可以匹配任意长度的字符串,甚至空字符串。它常用于 SELECTUPDATEDELETE 等语句中的 WHERE 条件中,实现模糊查询。

例如:

LIKE 'a%':匹配所有以字母 "a" 开头的字符串,如 "apple"、"and"、"abc123" LIKE '%z':匹配所有以 "z" 结尾的字符串,如 "buzz"、"quiz" LIKE '%test%':匹配包含 "test" 的任意位置的字符串,如 "mytest"、"testing"、"this is a test"

与下划线 _ 的区别

MySQL 还有另一个通配符 _(下划线),它只匹配单个字符。而 % 匹配的是零个或多个字符。

比如:

LIKE 'a_c':只能匹配像 "abc"、"aac" 这样中间有一个字符的情况 LIKE 'a%c':可以匹配 "ac"、"abc"、"abbc"、"aXcYc" 等任意中间内容

实际应用场景

常见于用户搜索、数据筛选等场景。例如:

查找姓“李”的所有用户:
SELECT * FROM users WHERE name LIKE '李%';
查找邮箱以 ".com" 结尾的记录:
SELECT * FROM users WHERE email LIKE '%.com';
查找包含关键字“admin”的用户名:
SELECT * FROM users WHERE username LIKE '%admin%';

注意事项

使用 % 时需注意以下几点:

LIKE 匹配默认是不区分大小写的(依赖于字段的排序规则,如 utf8_general_ci),若要区分大小写可使用 BINARY 关键字 在大表上使用 % 开头的模糊查询(如 '%abc')可能导致索引失效,影响性能,建议结合全文索引或优化查询方式 如果需要查找真正的百分号字符,需使用转义:LIKE '\%' ESCAPE '\'

基本上就这些。掌握 % 的用法,能有效提升 MySQL 模糊查询的灵活性和实用性。

相关推荐