返回顶部
首页 > 资讯 > 数据库 >你知道mysql中空值和null值的区别吗
  • 669
分享到

你知道mysql中空值和null值的区别吗

mysql空值数据库空字符串和nullmysqlnull和空字符串 2022-05-27 21:05:04 669人浏览 薄情痞子
摘要

前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。 建表 create table test (col

前言

最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。

建表


create table test (colA varchar(10) not null,colB varchar(10) null);

向test表中插入数据

插入colA为null的数据


insert into test values (null,1);

此时会报错,因为colA列不能为null。

插入colB为null的数据


insert into test values (1,null);

发现插入成功。

插入都为空的数据


insert into test values ('','');

插入colA为空的数据


insert into test values ('',null);

发现向colA一列插入空值成功,而colB列既可以插入空值,也可以插入NULL值。
总结一下,定义为NOT NULL的字段只能插入空值,不能插入null值,而NULL字段可以插入空值,也可以插入null值。

插入都不为空的数据


insert into test values (1,2);

开始查询




可以发现 is not null 只会过滤为null值的列,而<>会同时过滤空值和null值,所以要根据实际情况选择过滤方式。
另外,判断null值只能用 is null 或 is not null ,不能用 = 或 <>。

特别注意

在进行count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。

判断NULL 用IS NULL 或者 is not null,SQL 语句函数中可以使用ifnull()函数来进行处理,判断空字符用 = 或者 <> 来进行处理

对于Mysql特殊的注意事项,对于timestamp数据类型,如果往这个数据类型插入的列插入NULL值,则出现的值是当前系统时间。插入空值,则会出现 ‘0000-00-00 00:00:00'

对于空值的判断到底是使用is null 还是 = 要根据实际业务来进行区分。

当使用ORDER BY时,首先呈现NULL值。如果你用DESC以降序排序,NULL值最后显示。当使用GROUP BY时,所有的NULL值被认为是相等的,故只显示一行。

总结

到此这篇关于mysql中空值和null值的区别的文章就介绍到这了,更多相关mysql空值和null值的区别内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 你知道mysql中空值和null值的区别吗

本文链接: https://lsjlt.com/news/10097.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 你知道mysql中空值和null值的区别吗
    前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值。以下带来示例给大家进行讲解。 建表 create table test (col...
    99+
    2022-05-27
    mysql空值 数据库空字符串和null mysql null和空字符串
  • mysql中null和空值的区别
    null表示未知且无意义的值,而空值表示未赋值或未初始化的值。两者的差异在于:语义差异、数据库处理方式、查询优化影响、数据完整性影响,可通过mysql提供的操作符区分。 MySQL 中...
    99+
    2024-05-01
    mysql
  • mysql中null和空值的区别
    null表示未知且无意义的值,而空值表示未赋值或未初始化的值。两者的差异在于:语义差异、数据库处理方式、查询优化影响、数据完整性影响,可通过mysql提供的操作符区分。 MySQL 中...
    99+
    2024-05-01
    mysql
  • MySQL中的空值、null和(N/A)区别
    1 Empty Set和N/A 先讲Empty Set和 N/A,他们其实是一回事,MySQL中Empty Set是指当查询结果为空时,MySQL返回的结果集。 1.1 出现情况 一般情况下,由于一些...
    99+
    2023-09-27
    mysql 数据库
  • MySQL的空值和NULL的区别是什么
    这篇文章给大家分享的是有关MySQL的空值和NULL的区别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。从本质上区别:1、空值不占空间2、null值占空间通俗的讲:空值就像...
    99+
    2024-04-02
  • mysql中空值与null的区别有哪些
    小编给大家分享一下mysql中空值与null的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql中在进行count()统计某列的记录数的时候,如果...
    99+
    2023-06-14
  • 浅谈MySQL查询出的值为NULL和N/A和空值的区别
    目录例子表区别N/A的展示形式NULL的展示形式空值的展示形式TIPS例子表 CREATE TABLE `book` ( `id` int(11) NOT NULL AUTO_INCREMENT, `book_...
    99+
    2023-01-05
    MySQL查询值为NULL和N/A和空值 MySQLNULLN/A空值
  • 区分MySQL中的空值(null)和空字符('')
    日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符。 空字符('')和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度是NULL,不确...
    99+
    2022-05-23
    MySQL 空值 MySQL 空字符 MySQL null
  • MySQL null与not null和null与空值''''的区别详解
    相信很多用了MySQL很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问: 我字段类型是not null,为什么我可以插入空值 为毛not null的效率比null高 判断字段不为空的时候,...
    99+
    2022-05-28
    MySQL null与not null MySQL null与空值''''''''
  • MySQL中的NULL和空串的区别
    本篇内容主要讲解“MySQL中的NULL和空串的区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL中的NULL和空串的区别”吧! ...
    99+
    2024-04-02
  • Mysql中的NULL和空值实例分析
    本篇内容介绍了“Mysql中的NULL和空值实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!字段属性的”空值”与”NULL”不一样相信...
    99+
    2023-06-27
  • Js中var,let,const的区别你知道吗
    目录一:区别:二:var声明的作用域三:var声明的变量提升四、let声明五:彻底区分var和let声明变量(作用域区别)1.var声明2.let 声明 六:const 声...
    99+
    2023-02-08
    js var let const的区别 let var声明变量区别 const var let
  • Python eval()函数和ast.literal_eval()的区别你知道吗
    eval()函数可以将字符串型的list、tuple、dict等等转换为原有的数据类型 即使用eval可以实现从元组,列表,字典型的字符串到元组,列表,字典的转化,此外,eval还...
    99+
    2024-04-02
  • C++引用和指针的区别你知道吗
    目录引用1.引用概念2.格式3.引用特性4.常引用1.const引用5.使用场景1、引用作为参数2. 引用作为做返回值6.引用和指针的区别7.引用和指针的不同点:总结引用 1.引用概...
    99+
    2024-04-02
  • 你知道在Java中Integer和int的这些区别吗?
    目录一、基本概念(重要)二、拓展三、new Integer()与new Integer()的比较四、Integer与new Integer()的比较五、Integer与Integer...
    99+
    2024-04-02
  • MySQL中空值Null和空字符‘‘的具体使用
    目录1. 空值 Null 和空字符 ''2. 空值 Null 和空字符 '' 在查询方式上的对比2.1. 创建 SQL 脚本2.2. 查询 usern...
    99+
    2024-04-02
  • MySQL中空值Null和空字符怎么使用
    这篇文章主要介绍了MySQL中空值Null和空字符怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中空值Null和空字符怎么使用文章都会有所收获,下面我们一起来看看吧。1. 空值 Null 和空...
    99+
    2023-06-30
  • 你知道 Python 对象和 NumPy 之间的区别吗?
    Python 对象和 NumPy 都是 Python 编程语言中非常重要的概念,但它们之间有一些区别。在本文中,我们将探讨 Python 对象和 NumPy 的区别,并介绍如何使用 NumPy 进行数据处理和科学计算。 Python 对象 ...
    99+
    2023-07-06
    对象 apache numy
  • oracle中的null和空的区别
    null 表示缺失或未知,而空表示空字符串或零值。在查询中,null 与任何值都不相等,空值与相同类型的空值相等;字段必须显式定义为允许 null,而空值可以存在于任何字段中。理解 nu...
    99+
    2024-05-03
    oracle
  • 你真的知道onmouseenter与onmouseover的区别吗
    是的,onmouseenter与onmouseover是鼠标移入事件,它们的区别在于事件冒泡和触发频率。1. 事件冒泡:onmous...
    99+
    2023-09-21
    区别
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作