如何在 MySQL 中检查列是否为空或为空值?


要检查列是否为空或为空值,我们可以使用带有 IS NULL 的 WHERE 子句,对于空值,我们可以使用条件 ' ',即空格。所需的步骤如下:首先,使用 CREATE 命令 创建一个表,如下所示:

mysql> CREATE table ColumnValueNullDemo
-> (
-> ColumnName varchar(100)
-> );
Query OK, 0 rows affected (0.61 sec)

使用 INSERT 命令 将空值插入表中。如下所示:

mysql> INSERT into ColumnValueNullDemo values(' ');
Query OK, 1 row affected (0.14 sec)

之后,使用 SELECT 命令 显示表记录。如下所示:

mysql> SELECT * from ColumnValueNullDemo;

执行上述查询后,我们将得到以下输出:

+-------------------+
| ColumnName        |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

要检查列是否为空值或为空,语法如下:

SELECT * FROM yourTableName WHERE yourSpecificColumnName IS NULL OR
yourSpecificColumnName = ' ';

当列为空时,可以使用 IS NULL 约束,当有空值时,使用符号 (' ')。

现在,使用上述语法的查询如下所示:

mysql> SELECT * FROM ColumnValueNullDemo WHERE ColumnName IS NULL OR
ColumnName = ' ';

执行上述查询后,获得的输出为。

+------------+
| ColumnName |
+------------+
|            | 
+------------+
1 row in set (0.00 sec)

由于第二个条件对空值成立,因此得到此输出。

现在,使用 INSERT 命令将 NULL 值插入表中,如下所示:

mysql> INSERT into ColumnValueNullDemo values();
Query OK, 1 row affected (0.14 sec)

使用 SELECT 命令查看表的內容,如下所示:

mysql> SELECT * from ColumnValueNullDemo;

执行上述查询后,获得以下输出:

+------------+
| ColumnName |
+------------+
|            |
| NULL       |
+------------+
2 rows in set (0.00 sec)

现在,应用检查空值或空值的条件:

mysql> SELECT * FROM ColumnValueNullDemo WHERE ColumnName IS NULL OR
ColumnName = '';

获得两行表记录作为输出,因为两个条件都成立。

+------------+
| ColumnName |
+------------+
|            |
| NULL       |
+------------+
2 rows in set (0.00 sec)

更新于:2023年9月2日

46K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告