mysql null 0 空,MySQL的空值和NULL区别

从本质上区别:

1、空值不占空间

2、null值占空间

通俗的讲:

空值就像是一个真空转态杯子,什么都没有,而null值就是一个装满空气的杯子,虽然看起来都是一样的,但是有着本质的区别。

例子:

创建一个test表,colA是不可以存放null值的,colB是能存放null值的。

1 CREATE TABLE `test` (2 `colA` varchar(255) NOT NULL,3 `colB` varchar(255) DEFAULT NULL4 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入一个null值试试,会发生什么情况?

1 INSERT INTO `test`(`colA`, `colB`) VALUES (NULL, NULL);

//出现报错,原因是colA是不能插入null值。

3650810

3650810

5a785616918089535a17ced94d0c8b19.png

那么如果两个字段同时插入空值,会怎么样。

1 INSERT INTO `test`(`colA`, `colB`) VALUES ('', '');

插入成功,说明字段即使设置为null值的时候,是可以插入空值的

3650810

e2c7b50ef1c0924a83d8cbd0c06b559a.png

---------------------------------------------------------------查询---------------------------------------------------------

现在表里有三条数据

3650810

1f46f1acd344756fb72f9f0de09bb56a.png

接下来我们使用 is not null 和 <> 检索数据表里的数据

1、使用IS NOT NULL 的查询

1 SELECT * FROM `test` WHERE colA IS NOT NULL

3ebdf2fb8ca3974715cd1bba09e6b6ab.png

3650810

1 SELECT * FROM `test` WHERE colB IS NOT NULL

fde9f0bbb3c25e796bf6aa398fee3f4e.png

3650810

结论:

使用 IS NOT NULL 查询不会过滤空值,但是会过滤掉NULL。

2、使用 <> 的查询

1 SELECT * FROM `test` WHERE colA <> '';

ee1e792cb7dd4344bcf264fd9bc7845b.png

3650810

1 SELECT * FROM `test` WHERE colA <> '';

c12fe325bd7c4ccd95c4914a08af62a3.png

3650810

结论:

使用 <> 会过滤掉NULL和空值。

3、使用 count 查询

1 SELECT COUNT(colA) FROM `test`;

64e3093f47fc5092f5e5f66c7d116d0f.png

3650810

1 SELECT COUNT(colB) FROM `test`;

b095652e4b10d61f825c4c3d2dc98245.png

3650810

结论:

使用 count 会过滤掉 NULL 值,但是不会过滤掉空值。

总结

1、空值不占空间,NULL值占空间(占用一个字节)。

2、当字段不为NULL时,也可以插入空值。

3、当使用 IS NOT NULL 或者 IS NULL 时,只能查出字段中没有不为NULL的或者为 NULL 的,不能查出空值。

4、使用 <> 查询时,会筛选掉空值和NULL值。

5、使用 count 统计时会过滤掉 NULL 值,但是不会过滤掉空值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 数据库中数据去重,oracle数据库中如何达到像mysql数据库中group by 那种去重的效果..求大神解答...

满意答案oracle和mysql&#xff0c;group by是由区别的。oracle的gruop by 后跟的必须是select查询出的字段而且group by语句中select指定的字段必须是“分组依据字段”&#xff0c;其他字段若想出现在select中则必须包含在聚合函数中聚合函数比如&#xff1a;sum(列名) 求和ma…

强制关机对电脑的影响_笔记本电脑需要每天关机吗?长期开机对电脑有影响么?...

笔者之前写过一些选购笔记本的文章&#xff0c;就有不少网友问了这个问题&#xff1a;笔记本电脑需要每天关机么&#xff1f;一直开着有没有问题&#xff1f;这里说得一直开着是选择了合盖睡眠(或者休眠)的方式。使用时翻开笔记本盖子就可以工作&#xff0c;工作做完后合上盖子…

matlab 矩阵与向量乘,matlab问题,关于矩阵向量的乘问题

问题描述&#xff1a;matlab问题,关于矩阵向量的乘问题mxwtbx*T;mywtby*T;mzwtbz*T;%%%通过四元素解微分方程pmx.^2my.^2mz.^2;//这个地方有问题,我在下面说a1-p/8;b0.5-p/48;c(1)b*(a*q(1)/b-mx*q(2)-my*q(3)-mz*q(4));//提示这里有问题.c(2)b*(mx*q(1)a*q(2)/bmz*q(3)-my*q(4…

python关闭exe程序_Win 10 中使用 Python 碰到的奇怪现象

优质文章&#xff0c;第一时间送达&#xff01;作者&#xff1a;流光飞舞来源&#xff1a;https://shuhari.dev/blog/2019/11/win10-store-python最近在使用 Python 的时候发生了很奇怪的现象&#xff1a;从命令行执行 python.exe并不会进入 REPL&#xff0c;似乎也没有其他反应…

Matlab语音采集与读写程序,基于MATLAB的语音信号录制采集和分析的程序设计

理 论广 角 ● I 基于 MATLAB的语音信号录制采集和分析的程序设计 刘 晓炯 (西北民族大学电气工程学院 甘肃 兰州I 730030) [摘 要]语音信号处理技术是语音处理领域中新近发展起来的一个学科分支&#xff0c;MATLAB是一个数据分析和处理功能十分强大的工程使用软件&#xff0c;…

mulitpartfile怎么接收不到值_手机有时接收不到微信消息通知,怎么办?超全解决方案...

不知道大家在使用微信的过程中有没有遇到以下情况&#xff0c;在自己看视频或者刷其他网页的时候&#xff0c;没有接收到微信的任何通知和提示的消息。等到你进入微信页面后&#xff0c;突然发现有很多未读信息。这种情况时有发生&#xff0c;很多人都反应说微信接收消息总是会…

生活 list.php,list.php

require_once config.php;// 接收传来的分类id$categoryId$_GET[categoryId];//3// 查询当前分类下的文章// echo $categoryId;// 连接数据库$connectmysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);// 写sql$sql"select p.id,p.title,p.feature,p.content,p.created,p.…

苹果呼叫转移设置不了_怎么设置别人电话打不进来

您可以尝试输入【**21*888888#】并按下拨打键&#xff0c;开启本机的呼叫转移功能&#xff0c;在开启之后别人拨打您的电话会转移到888888这个空号&#xff0c;实现别的电话无法打入的效果。以下就是相关的步骤介绍&#xff1a;1、只需要在安卓或者苹果iOS 11系统的手机的拨号界…

apache php日志配置,HTML_初学:apache与php基本配置,1、APACHE的日志主要分为“ - phpStudy...

1、APACHE的日志主要分为“错误日志”与“访问日志”。2、apache错误日志目录的设置&#xff1a;/etc/apache2/apache2.conf 约170行左右ErrorLog /var/log/apache2/error.log 错误日志将保存在error.log中ErrorLog /dev/null / 将错误日志指向空设备&#xff0c;那么就等于…

jdk db版本_企业视频会议系统音视频通话EasyRTC-SFU版本研发中更合适的配置文件格式-TOML配置介绍 - TSINGSEE...

在 EasyRTC-SFU 版本的开发过程中&#xff0c;很多配置需要存储在配置文件中。开发人员经常使用的配置文件有 ini、json、xml、yaml 等格式&#xff0c;在综合分析各种文件格式的优劣后&#xff0c;我们最终确认使用 toml 格式作为配置文件格式。ini 文件格式是最传统的配置文件…

PHP开源管理系统 Gms,GMS 一个成熟的gms系统,拥有基本的权限管理和分类,后台很好 Windows Develop 249万源代码下载- www.pudn.com...

文件名称: GMS下载 收藏√ [5 4 3 2 1 ]开发工具: PHP文件大小: 14012 KB上传时间: 2016-01-03下载次数: 0提 供 者: 马继康详细说明&#xff1a;一个成熟的gms系统,拥有基本的权限管理和分类&#xff0c;后台很好-a good gms system文件列表(点击判断是否您需要的文件&a…

numpy序列预处理dna序列_个人隐私DNA亲子鉴定序列

个人隐私DNA亲子鉴定序列DNA亲子鉴定是基于医学&#xff0c;法律或个人原因解决亲子关系的最先进&#xff0c;最准确的方法。周转时间&#xff1a;凭借先进的DNA技术&#xff0c;亲子鉴定准确&#xff0c;快速且价格合理。现在可以在样品到达实验室后的3至7个工作日内确定亲子关…

php如何统计数组的个数,如何用php统计数组元素的个数(附代码)

这篇文章主要介绍了php统计数组元素个数的方法的相关资料,需要的朋友可以参考下count():对数组中的元素个数进行统计;sizeof():和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一…

usb接口驱动_关于电脑上的USB接口,都在这儿了!

美美的周末时光到来了&#xff01;今天给大家科普一点电脑的常识。想必大家在日常使用电脑的时候&#xff0c;会经常看到电脑右侧有一些不同的借口&#xff0c;看着像USB借口&#xff0c;但是标志却很奇怪&#xff0c;那到底为什么呢&#xff1f;还有&#xff0c;这些接口是2.0…

oracle将字符串转化为blob,oracle String类型转换成blob类型插入

CERT_1以前是varchar(3000),现在的类型是blob类型&#xff0c;做数据库迁移时&#xff0c;使用导入工具不能直接导入&#xff0c;所以使用SQL&#xff0c;下面是SQLdeclaredirections BLOB;amount BINARY_INTEGER;offset INTEGER;first_direction VARCH…

kibana 查看索引库中文档个数_百度索引量是什么意思?和百度收录量的区别。...

百度索引量表示所有网名最多会从百度看到的这个网站页面数量&#xff0c;用官方的话来说就是可以被搜索用户搜索到的网站数据库。 百度索引量是什么意思&#xff1f; 百度索引量表示所有网名最多会从百度看到的这个网站页面数量&#xff0c;用官方的话来说就是可以被用户搜索到…

oracle form中实现隐藏,Oracle Form数据块实现同时只有一个人锁定修改数据

在上一篇中文章中&#xff0c;如果建立了数据块的四个触发器&#xff0c;并在触发器中调用了程序单元中对应数据块名的包&#xff0c;则在这个包中还需调用专门用于实现插入行、锁定行、更新行、删除行的包MAIN_PVT。在这个包MAIN_PVT中主要调用的是数据块中的存储过程实现插入…

blob 在线解码_「沙发管家」腾讯极光盒子3Pro发布!4+32G内存8K解码

10月22日&#xff0c;腾讯携手创维数字&#xff0c;推出了首款 8K 高清电视盒子——腾讯极光盒子 3Pro 。这款产品的定位是“8K 星耀旗舰家庭娱乐主机”&#xff0c;盒子外观是高级黑加上一些不规则形状设计&#xff0c;磨砂材质&#xff0c;边缘还有一道蓝色的荧光&#xff0c…

oracle 重复的记录数,如何确定Oracle数据库表中重复的记录

作为一个Oracle数据库开发者或者DBA&#xff0c;在实际工作中经常会遇到这样的问题&#xff1a;试图对库表中的某一列或几列创建唯一索引时&#xff0c;系统提示ORA-01452&#xff1a;不能创建唯一索引&#xff0c;发现重复记录。下面我们以表code_ref为例来讨论这个问题及其解…

360手机浏览器_网信办:UC、QQ、360、搜狗等8款手机浏览器被纳入首批整治范围...

点击蓝字 关注我们UC、QQ、华为、360、搜狗、小米、vivo、OPPO等8款影响力较大的手机浏览器被纳入首批重点整治范围为有效解决网民反映强烈的手机浏览器网络传播乱象&#xff0c;国家网信办即日起对手机浏览器进行专项集中整治&#xff0c;重点聚焦行业突出问题实施“靶向治疗”…