带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样。搞清楚“空值”和“NULL”的概念之后,问题基本就明了了,我们搞个例子测试一下:插入数据:mysql发生错误:。再来一条成功插入。对于问题2,上面我们已经说过了,NULL 其实并不是空值,而是要占用空间,所以mysql在进行比较的时候,NULL 会参与字段比较,所以对效率有一部分影响。我们再向test的表中插入几条数据:现在表中数据:现在根据需求,我要统计test表中col1不为空的所有数据,我是该用“ ''” 还是 “IS NOT NULL” 呢,让我们来看一下结果的区别。可以看到,结果迥然不同,所以我们一定要根据业务需求,搞清楚到底是要用那种搜索条件。

MySQL null与not null和null与空值''''的区别详解

MySQL null与not null和null与空值''''的区别详解

MySQL null与not null和null与空值''''的区别详解