MySQL判断空值方法IS NULL和 (mysql中判断是空值)
MySQL判断空值方法:IS NULL和= ”
在MySQL中,判断一个字段是否为空,常用的方法有两种:IS NULL和= ”。
IS NULL方法:
IS NULL用于判断某字段是否为空值,语法如下:
SELECT * FROM table_name WHERE column_name IS NULL;
一般情况下,我们用该方法来查询某个字段是否为空,例如查询用户表中没有录入邮箱的用户,可以使用以下语句:
SELECT * FROM user WHERE eml IS NULL;
= ”方法:
= ”用于判断某字段是否为空字符串,语法如下:
SELECT * FROM table_name WHERE column_name = '';
一般情况下,我们用该方法来查询某个字段的值是否为空字符串,例如查询用户表中没有录入地址的用户,可以使用以下语句:
SELECT * FROM user WHERE address = '';
需要注意的是,= ”方法只能用于判断空字符串,无法判断NULL值。在使用= ”方法时,要注意区分字段值为空字符串和为NULL的情况。
代码示例:
假设我们有一个用户表,包含id、name、eml和address四个字段,其中eml和address字段可能为空。现在,我们要使用以上两种方法查询出没有录入eml和address的用户。
表结构如下:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL,
`eml` varchar(50) DEFAULT NULL, `address` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `user` (`name`, `eml`, `address`) VALUES
('Tom', 'tom@test.com', 'Los Angeles'),('Jerry', '', 'New York'),
('Kate', NULL, 'Chicago'),('Peter', 'peter@test.com', NULL);
使用IS NULL方法查询没有录入eml的用户:
SELECT * FROM `user` WHERE `eml` IS NULL;
结果:
+----+-------+-------+-------------+
| id | name | eml | address |+----+-------+-------+-------------+
| 3 | Kate | NULL | Chicago || 4 | Peter | peter@test.com | NULL |
+----+-------+-------+-------------+
使用= ”方法查询没有录入address的用户:
SELECT * FROM `user` WHERE `address` = '';
结果:
+----+-------+-------+-------------+
| id | name | eml | address |+----+-------+-------+-------------+
| 2 | Jerry | | New York || 4 | Peter | peter@test.com | |
+----+-------+-------+-------------+
总结:
以上是MySQL中判断空值的两种方法。需要注意的是,在使用= ”方法判断空值时,需要区分空字符串和NULL值。同时,判断空值的方法也可以用于WHERE子句中,来筛选出空值相关的记录。