如何在 MySQL SELECT 语句中使用 NULL?
mysqlmysqli database
在 MySQL 中,NULL 的长度为 0。在这里,我们将看到如何将 NULL 与 SELECT 语句一起使用。让我们借助 CREATE 命令 − 创建一个表
创建表 −
mysql> CREATE table NullWIthSelect -> ( -> Name varchar(100) -> ); Query OK, 0 rows affected (0.62 sec)
以上,我已成功创建了一个表。现在我将借助 INSERT 命令 − 插入一些记录
插入记录 −
mysql> INSERT into NullWIthSelect values('John'); Query OK, 1 row affected (0.16 sec) mysql> INSERT into NullWIthSelect values('Bob'); Query OK, 1 row affected (0.12 sec) mysql> INSERT into NullWIthSelect values(); Query OK, 1 row affected (0.18 sec) mysql> INSERT into NullWIthSelect values('Carol'); Query OK, 1 row affected (0.15 sec) mysql> INSERT into NullWIthSelect values(''); Query OK, 1 row affected (0.16 sec) mysql> INSERT into NullWIthSelect values('David'); Query OK, 1 row affected (0.19 sec) mysql> INSERT into NullWIthSelect values(); Query OK, 1 row affected (0.08 sec)
上面,我插入了 7 条记录,其中一条记录具有空值,两条记录具有空值。其余记录有一些值。
要显示所有记录,我们可以使用 SELECT 命令 −
mysql> SELECT * from NullWIthSelect;
以下是输出 −
+-------+ | Name | +-------+ | John | | Bob | | NULL | | Carol | | | | David | | NULL | +-------+ 7 rows in set (0.00 sec)
现在,我们可以将 NULL 与 SELECT 语句一起使用,如下所示。
首先,让我们看看语法 −
SELECT * from yourTableNamet where column_name is NULL;
应用上述查询来了解哪个列值为空。查询如下−
mysql> SELECT * from NullWIthSelect where Name is NULL;
以下是输出 −
+------+ | Name | +------+ | NULL | | NULL | +------+ 2 rows in set (0.00 sec)
现在,我们可以获取NULL值的长度,即0。查询如下 −
mysql> SELECT count(Name) from NullWIthSelect where Name is NULL;
以下是输出 −
+-------------+ | count(Name) | +-------------+ | 0 | +-------------+ 1 row in set (0.04 sec)