在 MySQL 中,LIKE
用于匹配查询字符串中的模式。LIKE
可以用于以下两种操作:
- 模式匹配:使用
LIKE
对查询字符串进行模式匹配。
例如,要查找名称中包含“Linux”的数据库实例,可以使用以下查询:
SELECT * FROM instances WHERE name LIKE '%Linux%';
此查询将返回所有名称中包含“Linux”的数据库实例。
- 全文匹配:使用
LIKE
对查询字符串进行全文匹配。
例如,要查找所有名称中包含“Linux”的文档,可以使用以下查询:
SELECT * FROM documents WHERE title LIKE '%Linux%';
此查询将返回所有名称中包含“Linux”的文档。
在 LIKE
操作中,% 符号用于匹配任意字符。如果 LIKE
操作符后面的字符串不被匹配,查询将返回空结果集。以下是 LIKE
操作的一些示例:
查找名为 “hello world” 的文档:
SELECT * FROM documents WHERE title LIKE '%hello%';
查找名称中包含 “Linux” 的数据库实例:
SELECT * FROM instances WHERE name LIKE '%Linux%';
查找所有名称中包含 “Linux” 的文档:
SELECT * FROM documents WHERE title LIKE '%Linux%';
查找所有包含 “hello” 的文档,无论它在名称的哪个位置:
SELECT * FROM documents WHERE title LIKE '%hello%';
查找所有名称中包含 “world” 的文档,但不包括那些名称中包含 “hello” 的文档:
SELECT * FROM documents WHERE title LIKE '%world%' AND title NOT LIKE '%hello%';
在模式匹配操作中,LIKE
关键字后面的字符串必须完整匹配才能返回结果。在全文匹配操作中,LIKE
关键字后面的字符串只需部分匹配即可返回结果。
另外,还可以使用not like 反匹配关键字,用于比较查询条件与给定模式之间的差异。它的作用是否定 LIKE 关键字的匹配结果,返回与给定模式不匹配的记录。
例如,如果要查询不包含特定字符串的记录,可以使用以下 SQL 语句:
SELECT * FROM table_name WHERE column_name NOT LIKE '%string%';
这个查询将返回所有不包含“string”字符串的记录。在使用 not like 关键字时,要使用百分号符号%来表示匹配任意字符。
需要注意的是,not like 关键字的语法与 like 关键字略有不同,它不需要使用小写字母 l,而是使用大写字母 N。所以,如果使用 not like 关键字,必须保证关键字的第一个字符是大写字母。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/mysql/how-to-use-like-in-mysql/