浅谈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优化之使用连接(join)代替子查询

    MySQL优化之使用连接(join)代替子查询

    有些时候,子查询可以被更有效的连接替代,方法仅供参考,需要的朋友可以了解下。
    2017-10-10
  • 开启bin-log日志mysql报错的解决方法

    开启bin-log日志mysql报错的解决方法

    开启bin-log日志mysql报错:This function has none of DETERMINISTIC, NO SQL解决办法,大家参考使用吧
    2013-12-12
  • mysql 字符串转数组的实现示例

    mysql 字符串转数组的实现示例

    有时候,我们需要将一个字符串拆分成一个数组,本文主要介绍了mysql 字符串转数组的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • mysql ifnull不起作用原因分析以及解决

    mysql ifnull不起作用原因分析以及解决

    这篇文章主要介绍了mysql ifnull不起作用原因分析以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • mysql之动态增添字段实现方式

    mysql之动态增添字段实现方式

    这篇文章主要介绍了mysql之动态增添字段实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • MYSQL 数据库导入导出命令

    MYSQL 数据库导入导出命令

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。
    2010-11-11
  • 浅谈mysql中concat函数,mysql在字段前/后增加字符串

    浅谈mysql中concat函数,mysql在字段前/后增加字符串

    下面小编就为大家带来一篇浅谈mysql中concat函数,mysql在字段前/后增加字符串。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • mysql中的两阶段提交面试精讲

    mysql中的两阶段提交面试精讲

    这篇文章主要为大家介绍了mysql中的两阶段提交面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • mysql设置指定ip远程访问连接实例

    mysql设置指定ip远程访问连接实例

    这篇文章主要介绍了mysql设置指定ip远程访问连接的方法,分别实例讲述了从任意主机和指定ip访问远程MySQL数据库的方法,代码简单功能实用,需要的朋友可以参考下
    2014-10-10
  • MySQL主从复制断开的常用修复方法

    MySQL主从复制断开的常用修复方法

    这篇文章主要介绍了MySQL主从复制断开的常用修复方法,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04

最新评论