MySQL 如何在MySQL中查找一组列中具有空值的记录
在 MySQL 数据库中,时常需要查找一组列中具有空值的记录,以便进行数据清洗或者数据分析等操作。本文将介绍如何通过 SQL 语句在 MySQL 数据库中查找一组列中具有空值的记录。
阅读更多:MySQL 教程
语法
SQL 语句中,可以通过 IS NULL 或者 IS NOT NULL 来判断一个列中是否包含空值。具体的语法如下所示:
SELECT column1, column2, ... FROM table_name WHERE column_name IS NULL;
SELECT column1, column2, ... FROM table_name WHERE column_name IS NOT NULL;
其中:
- column1, column2, … 列出你想要查询的列的名称。
- table_name 指定你想要从哪个表中查询。
- column_name 是你想要查询的列的名称。
示例
下面通过一个实际的例子来演示如何在 MySQL 数据库中查找一组列中具有空值的记录。
首先,创建一个名为 employees
的表,包含 id
、name
和 age
列。
CREATE TABLE employees (
id INT(11) NOT NULL,
name VARCHAR(50) NOT NULL,
age INT(11) DEFAULT NULL,
PRIMARY KEY (id)
);
然后,插入一些测试数据,其中 id
列是主键,name
列没有空值,而 age
列有一些空值。
INSERT INTO employees (id, name, age)
VALUES
(1, 'John Doe', 25),
(2, 'Jane Doe', NULL),
(3, 'Jack Smith', 30),
(4, 'Jill Johnson', NULL),
(5, 'James Brown', 40);
接下来,可以使用如下 SQL 语句查询年龄列中具有空值的记录:
SELECT id, name, age FROM employees WHERE age IS NULL;
上述 SQL 语句将返回两条记录,其中 id
和 name
列都将被显示出来,age
列将不被显示出来。查询结果如下所示:
+----+---------------+------+
| id | name | age |
+----+---------------+------+
| 2 | Jane Doe | NULL |
| 4 | Jill Johnson | NULL |
+----+---------------+------+
如果想要查询年龄列中没有空值的记录,可以改用 IS NOT NULL
来代替 IS NULL
,如下所示:
SELECT id, name, age FROM employees WHERE age IS NOT NULL;
上述 SQL 语句将返回三条记录,其中 id
、name
和 age
列都将被显示出来。查询结果如下所示:
+----+--------------+-----+
| id | name | age |
+----+--------------+-----+
| 1 | John Doe | 25 |
| 3 | Jack Smith | 30 |
| 5 | James Brown | 40 |
+----+--------------+-----+
结论
在 MySQL 数据库中,可以通过 IS NULL
或 IS NOT NULL
来查询一组列中的具有空值或非空值的记录。通过本文的介绍,读者现在已经掌握了如何使用 SQL 语句查找一组列中具有空值的记录。