MySQL LIKE 和 equal to (=) 运算符之间的显着区别是什么?
我们已经看到MySQLSELECT命令从MySQL表中获取数据。我们还可以使用称为WHERE子句的条件子句来选择所需的记录。
带有“等于”符号(=)的WHERE子句在我们想要进行精确匹配的地方工作正常。就像“tutorial_author='Sanjay'”一样。但是可能需要过滤掉所有tutorial_author名称应包含“jay”的结果。这可以使用MySQLLIKE运算符和WHERE子句来处理。
如果在没有通配符的情况下使用MySQLLIKE运算符,则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)