MySQL数据库中null的知识点总结

 更新时间:2019年10月28日 08:37:15   作者:Demrystv  
在本篇文章里小编给大家整理的是关于MySQL数据库null的知识点以及相关实例,需要的朋友们可以学习下。

在mysql数据库中,null是一个经常出现的情况,关于mysql中的null,有哪些注意事项呢?下面简单总结归纳下,后续会不断补充。

1. is null

首先判断数据库中某一列的值是否为null,不能用等于来判断,必须使用 is。比如,select * from users where user_name is null 或者 select * from users where user_name is not null,而不能是 select * from users where user_name = null

2. ISNULL( )

MySQL数据库中内置了 ISNULL( ) 函数,其使用方法与MySQL中提供的sum()等其他内置函数一样。比如,select ISNULL(user_name) from users where user_name = ‘Demrystv' 返回值是 0;select ISNULL(NULL) 返回值是1

3. IFNULL()

MySQL数据库中内置了 IFNULL( ) 函数,其使用方法与MySQL中提供的sum()等其他内置函数一样。其主要接收两个参数,第一个参数是要判断空值的字段或值,第二个字段是当第一个参数是空值的情况下要替换返回的另一个值,即如果第一个字段为null,会将其替换成其他值。比如,select IFNULL(NULL, “java is the best language of the world”),由于第一个参数的值NULL,因此会输出第二个参数的值,java is the best language of the world;同理,若第一个字段不为空,则会返回第一个字段的值。

4. insert into 与null

在使用insert into往表中灌数据的时候,需要首先明确一下表里是null,还是空,如果是null,那么就不能使用 insert into进行灌数据,必须使用 update,这一点看似简单,但是在实际开发中经常容易忽略,因此需要特殊注意。

例子:

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

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

以上就是本次介绍的全部相关知识点,感谢大家的学习和对脚本之家的支持。

相关文章

  • 关于com.mysql.jdbc.Driver与com.mysql.cj.jdbc.Driver的区别

    关于com.mysql.jdbc.Driver与com.mysql.cj.jdbc.Driver的区别

    这篇文章主要介绍了关于com.mysql.jdbc.Driver与com.mysql.cj.jdbc.Driver的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL 5.7.29 + Win64 解压版 安装教程图文详解

    MySQL 5.7.29 + Win64 解压版 安装教程图文详解

    这篇文章主要介绍了MySQL 5.7.29 + Win64 解压版 安装教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • MySQL实现向表中添加多个字段 类型 注释

    MySQL实现向表中添加多个字段 类型 注释

    这篇文章主要介绍了MySQL实现向表中添加多个字段 类型 注释方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Mysql中聚簇索引和非聚簇索引的区别详解

    Mysql中聚簇索引和非聚簇索引的区别详解

    这篇文章主要介绍了Mysql中聚簇索引和非聚簇索引的区别详解,聚簇索引就是按照每张表的主键构造一颗B+树,同时叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页,需要的朋友可以参考下
    2023-07-07
  • mysql decimal类型判断是否为0

    mysql decimal类型判断是否为0

    在MySQL中,DECIMAL是一种用于存储精确小数的数据类型,本文主要介绍了mysql decimal类型判断是否为0,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用

    浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用

    SQL语句行列转换的两种方法 case...when和pivot函数应用,运用pivot 函数只支持数据库版本2005以上的。一般运用case when else end 的方法比较多,比较普遍
    2013-08-08
  • 解决mysql出现错误:ERROR 1046 (3D000):No database selected

    解决mysql出现错误:ERROR 1046 (3D000):No database selected

    这篇文章主要给大家介绍了关于解决mysql出现错误:ERROR 1046 (3D000):No database selected的相关资料,No database selected可以理解为没有选择种数据库,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • SQL索引失效的11种情况详析

    SQL索引失效的11种情况详析

    索引并不是时时都会生效的,遇到一些情况将导致索引失效,下面这篇文章主要给大家介绍了关于SQL索引失效的11种情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

    最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

    这篇文章主要介绍了最新版MySQL 8.0.22下载安装超详细教程(Windows 64位),本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • mysql去重的两种方法详解及实例代码

    mysql去重的两种方法详解及实例代码

    这篇文章主要介绍了mysql去重的两种方法详解及实例代码的相关资料,这里对去重的两种方法进行了一一实例详解,需要的朋友可以参考下
    2017-01-01

最新评论