MySQL LIKE和等于操作符之间的重要区别是什么?
我们已经了解了MySQL SELECT命令从MySQL表中获取数据。 我们还可以使用一个叫做WHERE子句的条件子句来选择所需的记录。
带有’等于’符号(=)的WHERE子句在我们想要进行精确匹配的情况下起作用,例如“tutorial_author =’Sanjay’”。 但是可能存在过滤掉所有教程作者名称应包含“jay”的结果的要求。 可以使用MySQL LIKE操作符处理这个问题以及WHERE子句。
如果使用MySQL LIKE操作符而不带通配符字符,则LIKE操作符与带WHERE子句的等于符号非常相同。
阅读更多:MySQL 教程
例子
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)
极客教程