在mysql数据库中,null是一个经常出现的情况,关于mysql中的null,有哪些注意事项呢?下面简单总结归纳下,后续会不断补充。 1. is null 首先判断数据库中某一列的值是否为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;
以上就是本次介绍的全部相关知识点,感谢大家的学习和对每日运维的支持。