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

mysqlmysqli database

要检查列是否为空或为空,我们可以使用 WHERE 子句和 IS NULL,对于空,我们可以使用条件 ' ',即空白。所需步骤如下: 首先,使用 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 impacted (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 impacted (0.14 sec)

使用 select 命令查看表的内容,如下所示 -

mysql> SELECT * from ColumnValueNullDemo;

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

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

现在,应用检查是否为 null 或为空的条件 −

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

由于两个条件均为真,因此两个表行均作为输出获得。

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


相关文章