MySQL LIKE 和等于 (=) 运算符之间的显著区别是什么?
mysqlmysqli database更新于 2025/5/25 1:16:17
我们已经看到了 MySQL SELECT 命令从 MySQL 表中获取数据。我们还可以使用称为 WHERE 子句的条件子句来选择所需的记录。
当我们想要进行精确匹配时,带有"等于"符号 (=) 的 WHERE 子句可以很好地工作。例如,如果"tutorial_author = 'Sanjay'"。但可能存在一种要求,即我们想要过滤掉 tutorial_author 名称应包含"jay"的所有结果。这可以使用 MySQL LIKE 运算符和 WHERE 子句来处理。
如果使用 MySQL LIKE 运算符时不使用通配符,则 LIKE 运算符与等号和 WHERE 子句非常相似。
示例
mysql> Select * from Student Where Name LIKE 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name = 'Harshit'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec)
除了具有通配符、% 和 _ 的区别之外,LIKE 运算符和 = 运算符之间还有一个显著的区别,那就是 LIKE 运算符不会忽略尾随空格,而 = 运算符会忽略尾随空格。
示例
mysql> Select * from Student Where Name = 'Harshit '; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | +------+---------+---------+----------+--------------------+ 1 row in set (0.00 sec) mysql> Select * from Student Where Name LIKE 'Harshit '; Empty set (0.00 sec)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

