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子句中,来筛选出空值相关的记录。


数据运维技术 » MySQL判断空值方法IS NULL和 (mysql中判断是空值)