开发者

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

目录
  • 例子表
  • 区别
    • N/A的展示形式
    • NULL的展示形式
    • 空值的展示形式
  • TIPS

    例子表

    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,
      PRIMA编程客栈RY 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_pythongeneral_ci ROW_FORMAT = Dynamic;
    

    插入几条数据

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

    区别

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

    N/A的展示形式

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

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

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

    NULL的展示形式

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

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

    搜索NULL以 is null 进行搜索

    空值的展示形式

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

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

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

    编程

    TIPS

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

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

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新数据库

    数据库排行榜