浅谈MySQL查询出的值为NULL和N/A和空值的区别

 更新时间:2023年01月05日 09:15:37   作者:Sykking之歌  
本文主要介绍了浅谈MySQL查询出的值为NULL和N/A和空值的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

例子表

CREATE TABLE `book`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `book_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `author` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `publisher` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  FULLTEXT INDEX `bookname_author_publisher_fulltext`(`book_name`, `author`, `publisher`) WITH PARSER `ngram`
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

插入几条数据

在这里插入图片描述

区别

在MySQL中,NULL,N/A,空值是完全的三种东西,首先展示一下它们的表现形式

N/A的展示形式

当我使用select * from book where id = 561656 进行查询的时候,很明显,数据库不存在这样的数据,注意,我说的是不存在,现在我们查看结果

在这里插入图片描述

可以看到所有的列都为N/A,也就是不存在这样的结果,映射到Java上什么都没有,是的,完全映射不上,要是以对象接收这一列的结果,那么这个对象就是NULL,没有指向任何地方。要是以List接收结果,也是映射不上,List的size为0

NULL的展示形式

NULL就是NULL,字面意思,在列中存NULL,列映射到Java属性中也是NULL

在这里插入图片描述

搜索NULL以 is null 进行搜索

空值的展示形式

空值就是空串,存储的也是空串,映射到Java中也是""(空串),啥也没有,但是就是字符串

在这里插入图片描述

搜索这样的结果以 = ‘’ 进行搜索(和搜索字符串一样,等于空串)

TIPS

  • 另外,在写sql语句时这些值的不同也可能导致结果不同
  • 如果你定义了一个局部变量,搜索一个N/A的结果赋值给该变量,那么结果是该变量没有任何改变,不会对该变量做任何赋值操作
  • 如果你定义了一个局部变量,搜索一个NULL的结果赋值给该变量,那么结果是该变量的值也会被更新为NULL

到此这篇关于浅谈MySQL查询出的值为NULL和N/A和空值的区别的文章就介绍到这了,更多相关MySQL查询值为NULL和N/A和空值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于mysql数据库连接编码问题

    关于mysql数据库连接编码问题

    这篇文章主要介绍了关于mysql数据库连接编码问题,默认的编码和数据库表中的数据使用的编码是不一致的,如果是中文,那么在数据库中执行时已经是乱码了,需要的朋友可以参考下
    2023-04-04
  • mysql sql_mode数据验证检查方法

    mysql sql_mode数据验证检查方法

    sql_mode 会影响MySQL支持的sql语法以及执行的数据验证检查,通过设置sql_mode ,可以完成不同严格程度的数据校验,有效地保障数据准确性,这篇文章主要介绍了mysql sql_mode数据验证检查,需要的朋友可以参考下
    2023-08-08
  • 导致sql执行速度慢的几种情况盘点(生产环境踩过的坑)

    导致sql执行速度慢的几种情况盘点(生产环境踩过的坑)

    盘点分析MySQL执行速度慢可以帮助我们进行优化MySQL数据库的效率,这篇文章主要给大家盘点介绍了关于导致sql执行速度慢的几种情况,文中介绍的这些主要是生产环境踩过的坑,需要的朋友可以参考下
    2023-03-03
  • 让MySQL数据库跑的更快 为数据减肥

    让MySQL数据库跑的更快 为数据减肥

    在MySQL数据库优化工作中,使数据尽可能的小,使表在硬盘上占据的空间尽可能的小,这是最常用、也是最有效的手段之一。
    2011-03-03
  • Linux中部署MySQL环境的四种方式图文详解

    Linux中部署MySQL环境的四种方式图文详解

    这篇文章主要介绍了Linux中部署MySQL环境的四种方式,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • MySQL Community Server 8.0.11安装配置方法图文教程

    MySQL Community Server 8.0.11安装配置方法图文教程

    这篇文章主要为大家详细 介绍了MySQL Community Server 8.0.11安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 浅谈MySQL中用什么数据类型存IP地址

    浅谈MySQL中用什么数据类型存IP地址

    MySQL中用什么数据类型存IP地址?在MySQL中,当存储IPv4地址时,应该使用32位的无符号整数来存储IP地址,而不是使用字符串,本文就介绍一下这几种情况,感兴趣的可以了解一下
    2023-08-08
  • MySQL中的join以及on条件的用法解析

    MySQL中的join以及on条件的用法解析

    这篇文章主要介绍了MySQL中的join以及on条件的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • MySQL教程DML数据操纵语言示例详解

    MySQL教程DML数据操纵语言示例详解

    这篇文章主要为大家介绍了MySQL教程中DML数据操纵语言的示例详解,要想学好MySQL最重要的是要先学好数据操纵语言DML,本文对其进行了全面的讲解
    2021-10-10
  • CentOS6.8使用cmake安装MySQL5.7.18

    CentOS6.8使用cmake安装MySQL5.7.18

    这篇文章主要为大家详细介绍了CentOS6.8使用cmake安装MySQL5.7.18的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04

最新评论