MySQL运算符!=和<>及=和<=>的使用区别

 更新时间:2023年05月24日 10:11:42   作者:_陈哈哈  
本文主要介绍了MySQL运算符!=和<>及=和<=>的使用区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、运算符:!= 和 <>

在MySQL中!= 和 <> 的功能一致,在sql92规范中建议是:!=,新的规范中建议为: <>
下面查询username为"陈哈哈"以外的用户,以下两条语句的作用一样。

SELECT * FROM t_user WHERE username != "陈哈哈";
SELECT * FROM t_user WHERE username <> "陈哈哈";

2、运算符:= 和 <=>

值得一提的是 = 、 <=> 以及 is 这三个运算符的用法

大家都知道 is 专门用来判断是否为 NULL,而 = 则是用来判断非NULL以外的所有数据类型使用。而 <=> 则是前两者合起来。

先提供测试表数据如下:

mysql> SELECT * from t_user;
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
|  2 | 侨布斯    | 1234     |
|  3 | 提莫      | 1234abcd |
|  4 | aaa       | NULL     |
|  5 | NULL      | aaaa     |
+----+-----------+----------+
5 rows in set (0.00 sec)

下面两个SQL的查询结果一致,均查出了username 为 NULL的数据

mysql> SELECT * from t_user where `username` is null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  5 | NULL     | aaaa     |
+----+----------+----------+
1 row in set (0.00 sec)
mysql> SELECT * from t_user where `username` <=> null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  5 | NULL     | aaaa     |
+----+----------+----------+
1 row in set (0.00 sec)

下面两个SQL的查询结果一致,均查出了username 为 ‘陈哈哈’ 的数据

mysql> SELECT * from t_user where `username` = '陈哈哈';
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)
mysql> SELECT * from t_user where `username` <=> '陈哈哈';
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)

可见,<=>运算符相当于封装了= 和 is ,既可以判断 非NULL值,也可以用来判断NULL值。

  • <=> 只用于MySQL数据库,username <=> NULL 得 0 等价 username is NULL,NOT(username <=> NULL) 等价 username is NOT NULL;
  • 当col1,col2两个可能存在NULL值的列需要进行相等比较时,可以使用 col1 <=> col2,可以把null=null的也关联起来。

到此这篇关于MySQL运算符!=和<>及=和<=>的使用区别的文章就介绍到这了,更多相关MySQL !=和<>及=和<=>内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MacOS 下安装 MySQL8.0 登陆 MySQL的方法

    MacOS 下安装 MySQL8.0 登陆 MySQL的方法

    这篇文章主要介绍了MacOS 下安装 MySQL8.0 登陆 MySQL 的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • mysql 月份查询该月有付款的数据

    mysql 月份查询该月有付款的数据

    mysql选择月份查询该月有付款的数据(间隔x月并提前5天付款)
    2010-04-04
  • 一文解答为什么MySQL的count()方法这么慢

    一文解答为什么MySQL的count()方法这么慢

    这篇文章主要介绍了一文解答为什么MySQL的count()方法这么慢,mysql用count方法查全表数据,在不同的存储引擎里实现不同,myisam有专门字段记录全表的行数,直接读这个字段就好了
    2022-07-07
  • mysql报错:1406 Data too long for column问题的多种解决方案

    mysql报错:1406 Data too long for colu

    这篇文章给大家介绍了多种解决mysql报错:1406, Data too long for column的解决方法,如果有遇到相同问题的朋友可以参考阅读本文,对解决问题有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • SQL实现LeetCode(175.联合两表)

    SQL实现LeetCode(175.联合两表)

    这篇文章主要介绍了SQL实现LeetCode(175.联合两表),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 数据库管理中文件的使用教程

    数据库管理中文件的使用教程

    本文将详细介绍数据库管理中文件的使用,需要了解更多的朋友可以参考下
    2012-11-11
  • Mysql大表全表update的的实现

    Mysql大表全表update的的实现

    有些时候在进行一些业务迭代时需要我们对Mysql表中数据进行全表update,本文主要介绍了Mysql大表update的的实现
    2024-08-08
  • MySQL字符串前缀索引使用

    MySQL字符串前缀索引使用

    本文主要介绍了MySQL字符串前缀索引使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • mysql 常用数据库语句 小练习

    mysql 常用数据库语句 小练习

    一个mysql小练习 建表 查询 修改表 增加字段 删除字段
    2009-07-07
  • MySQL数据库操作常用命令小结

    MySQL数据库操作常用命令小结

    这篇文章主要介绍了MySQL数据库操作常用命令小结,例如创建数据库、使用数据库、查看数据库、数据库编码操作等命令讲解,需要的朋友可以参考下
    2014-12-12

最新评论