如何在 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)