mysql通配符使用场景有哪些_mysql通配符常见使用场景分析

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

MySQL通配符主要用于模糊查询,配合 LIKENOT LIKE 操作符在字符串匹配中灵活筛选数据。以下是一些常见且实用的使用场景。

1. 查询以特定字符开头或结尾的数据

使用百分号(%)通配符可以匹配任意长度的字符序列,适合查找以某个词开头或结尾的内容。

• 查找所有姓“张”的用户:
SELECT * FROM users WHERE name LIKE '张%';

• 查找邮箱以“.com”结尾的记录:
SELECT * FROM users WHERE email LIKE '%.com';

2. 包含指定字符串的记录查询

当需要找出字段中包含某个关键词的所有行时,可将通配符放在前后。

• 查找用户名中包含“admin”的账户:
SELECT * FROM users WHERE username LIKE '%admin%';

• 搜索商品名称中含有“手机”的产品:
SELECT * FROM products WHERE name LIKE '%手机%';

3. 匹配单个字符的场景

下划线(_)通配符代表一个任意字符,适用于格式固定、仅个别字符不确定的情况。

• 查找姓名为两个字且第二个字是“敏”的人:
SELECT * FROM users WHERE name LIKE '_敏';

• 匹配电话区号为010且后接8位数字中的前几位已知的情况:
SELECT * FROM contacts WHERE phone LIKE '010-1234_ _ _ _';

4. 组合使用通配符进行复杂匹配

实际应用中常结合 % 和 _ 实现更精确的模糊查询。

• 查找身份证号第17位为奇数(末位前一位)的人员(假设性别位在倒数第二位):
SELECT * FROM persons WHERE id_card LIKE '___________[13579]%';(注:此处需结合 REGEXP 更准确,但说明组合思路)

• 查找用户名第二个字符是“a”,总长度至少3位:
SELECT * FROM users WHERE username LIKE '_a%';

基本上就这些。MySQL通配符虽简单,但在搜索功能、报表筛选、数据清洗等场景非常实用。注意避免过度使用 % 开头的模式,以免影响查询性能。合理建立索引并结合其他条件可提升效率。

相关推荐

热文推荐