MySQL常用通配符有%和_,%匹配任意数量字符,_匹配单个字符,需与LIKE或NOT LIKE配合使用;可通过ESCAPE指定转义字符来查找含%或_的字符串,如'%\_%' ESCAPE '\';注意避免前导通配符导致全表扫描,应结合索引优化性能。
在MySQL中,通配符主要用于LIKE操作符配合模糊查询,帮助我们匹配符合特定模式的字符串。掌握通配符的使用,可以更灵活地进行数据检索。
MySQL支持两种主要的通配符:
这两个通配符必须与LIKE或NOT LIKE一起使用。
%可以代替多个字符,适合用于查找包含、开头或结尾为某字符串的数据。
例如:

_只能匹配一个字符,适用于已知长度或固定格式的场景。
例如:
如果要查找的字符串本身包含%或_,需要使用ESCAPE关键字指定转义字符。
例如,查找用户名包含下划线的记录:
SELECT * FROM users WHERE name LIKE '%\_%' ESCAPE '\';这里反斜杠\被定义为转义字符,\_表示匹配实际的下划线字符,而不是通配符。
同理,查找包含%号的数据:
SELECT * FROM comments WHERE content LIKE '%50\%%' ESCAPE '\';基本上就这些。合理使用%和_通配符,能大幅提升查询灵活性。注意性能问题——在大表上使用前导通配符(如%abc)可能导致全表扫描,建议结合索引优化。不复杂但容易忽略。