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,空值是完全的三种东西,首先展示一下它们的表现形式
当我使用select * from book where id = 561656 进行查询的时候,很明显,数据库不存在这样的数据,注意,我说的是不存在,现在我们查看结果
可以看到所有的列都为N/A,也就是不存在这样的结果,映射到Java上什么都没有,是的,完全映射不上,要是以对象接收这一列的结果,那么这个对象就是NULL,没有指向任何地方。要是以List接收结果,也是映射不上,List的size为0
NULL就是NULL,字面意思,在列中存NULL,列映射到Java属性中也是NULL
搜索NULL以 is null 进行搜索
空值就是空串,存储的也是空串,映射到Java中也是""(空串),啥也没有,但是就是字符串
搜索这样的结果以 = ‘’ 进行搜索(和搜索字符串一样,等于空串)