浅谈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 自定义排序顺序,在sql语句中加入ORDER BY FIELD,需要的朋友可以参考下
    2014-02-02
  • 一文搞懂Mysql中的共享锁、排他锁、悲观锁、乐观锁及使用场景

    一文搞懂Mysql中的共享锁、排他锁、悲观锁、乐观锁及使用场景

    刚开始学习MySQL中锁的时候,网上一查出来一堆,什么表锁、行锁、读锁、写锁、悲观锁、乐观锁等等等,直接整个人就懵了,下面这篇文章主要给大家介绍了关于Mysql中共享锁、排他锁、悲观锁、乐观锁及使用场景的相关资料,需要的朋友可以参考下
    2022-07-07
  • 微信开发中mysql字符编码问题

    微信开发中mysql字符编码问题

    本文给大家介绍微信开发过程中mysql字符编码问题,本文介绍的非常详细,感兴趣的朋友一起来学习吧
    2015-08-08
  • mysql 5.7.18 winx64安装配置方法图文教程

    mysql 5.7.18 winx64安装配置方法图文教程

    这篇文章主要为大家详细介绍了windows7下mysql 5.7.18 winx64安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • mysql数据库查询优化 mysql效率

    mysql数据库查询优化 mysql效率

    MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试. 1. 使用statement进行绑定查询 2. 随机的获取记录 3. 使用连接池管理连接.
    2008-01-01
  • mysql横向转纵向、纵向转横向排列的方法

    mysql横向转纵向、纵向转横向排列的方法

    这篇文章主要介绍了mysql横向转纵向、纵向转横向排列的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • mac os10.12安装mysql5.7.18教程

    mac os10.12安装mysql5.7.18教程

    这篇文章主要为大家详细介绍了mac os10.12下mysql5.7.18的安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • MySQL Aborted connection告警日志的分析

    MySQL Aborted connection告警日志的分析

    这篇文章主要介绍了MySQL Aborted connection告警日志的分析,帮助大家更好的理解和学习MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • mysql仿asp的数据库操作类

    mysql仿asp的数据库操作类

    本文通过实例代码给大家介绍了mysql仿asp的数据库操作类,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2008-04-04
  • 提高MySQL中InnoDB表BLOB列的存储效率的教程

    提高MySQL中InnoDB表BLOB列的存储效率的教程

    这篇文章主要介绍了提高MySQL中InnoDB表BLOB列的存储效率的教程,InnoDB的优化在MySQL的优化研究中也是一个非常热门的课题,需要的朋友可以参考下
    2015-05-05

最新评论