MySQL中Like是什么意思?

LIKE是mysql中用于模糊匹配的操作符,语法为select 列名 FROM 表名 WHERE 列名 LIKE 模式,支持%(任意字符)和_(单个字符)通配符;可查找以特定字符开头、包含某字符、指定位置或长度的字符串;默认不区分大小写,取决于排序规则,可用BINARY强制区分;含%或_时需用ESCAPE转义;适用于模糊查询但以%开头的模式可能影响性能,建议配合索引使用。

MySQL中Like是什么意思?

LIKE 是 MySQL 中用于在 WHERE 子句中进行模糊匹配的操作符。它通常用来查找符合某种模式的字符串数据,而不是完全精确的匹配。

基本语法

SELECT 列名 FROM 表名 WHERE 列名 LIKE 模式;

模式可以包含两种通配符:

  • %:代表任意数量的字符(包括零个字符)
  • _:代表一个单一字符

常见用法示例

假设有一个用户表 users,其中有个字段 name

  • 查找以“张”开头的名字
    SELECT * FROM users WHERE name LIKE ‘张%’;
  • 查找包含“小”的名字
    SELECT * FROM users WHERE name LIKE ‘%小%’;
  • 查找第二个字是“三”的两字或以上名字
    SELECT * FROM users WHERE name LIKE ‘_三%’;
  • 查找长度为3且第三个字是“明”的名字
    SELECT * FROM users WHERE name LIKE ‘__明’;

大小写敏感性说明

MySQL 的 LIKE 默认是否区分大小写,取决于字段的字符集和排序规则(collation)。一般情况下,使用 utf8_general_ci_ci 结尾的排序规则是不区分大小写的(case-insensitive)。

MySQL中Like是什么意思?

阿里妈妈·创意中心

阿里妈妈营销创意中心

MySQL中Like是什么意思?0

查看详情 MySQL中Like是什么意思?

如果需要强制区分大小写,可以使用 BINARY 关键字:

  • SELECT * FROM users WHERE name LIKE BINARY ‘abc%’; —— 只匹配小写开头

转义特殊字符

如果要查找的字符串本身包含 %_,需要使用 ESCAPE 关键字指定转义符:

  • SELECT * FROM products WHERE description LIKE ‘50%’ ESCAPE ”; —— 查找包含 “50%” 的文本

基本上就这些。LIKE 在搜索功能中非常实用,比如实现“搜索用户名”这类模糊查询。但要注意,对大表使用 LIKE,尤其是以 % 开头的模式(如 ‘%abc’),可能会影响查询性能,建议配合索引合理使用。

上一篇
下一篇
text=ZqhQzanResources