我如何删除 MySQL 中的空白行?


使用 delete 命令在 MySQL 中删除空白行。

语法如下

delete from yourTableName where yourColumnName=' ' OR yourColumnName IS NULL;

以上语法将删除空白行以及 NULL 行。

为了理解这个概念,我们创建一个表。创建表的查询如下:

mysql> create table deleteRowDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(20)
   -> );
Query OK, 0 rows affected (0.57 sec)

使用 insert 命令在表中插入一些记录。

查询如下:

mysql> insert into deleteRowDemo(StudentName) values('John');
Query OK, 1 row affected (0.13 sec)
mysql> insert into deleteRowDemo(StudentName) values('');
Query OK, 1 row affected (0.18 sec)
mysql> insert into deleteRowDemo(StudentName) values('');
Query OK, 1 row affected (0.14 sec)
mysql> insert into deleteRowDemo(StudentName) values(NULL);
Query OK, 1 row affected (0.13 sec)
mysql> insert into deleteRowDemo(StudentName) values('Carol');
Query OK, 1 row affected (0.13 sec)
mysql> insert into deleteRowDemo(StudentName) values('Bob');
Query OK, 1 row affected (0.14 sec)
mysql> insert into deleteRowDemo(StudentName) values('');
Query OK, 1 row affected (0.18 sec)
mysql> insert into deleteRowDemo(StudentName) values('David');
Query OK, 1 row affected (0.35 sec)

使用 select 语句显示表中的所有记录。

查询如下:

mysql> select *from deleteRowDemo;

输出如下:

+----+-------------+
| Id | StudentName |
+----+-------------+
| 1  | John        |
| 2  |             |
| 3  |             |
| 4  | NULL        |
| 5  | Carol       |
| 6  | Bob         |
| 7  |             |
| 8  | David       |
+----+-------------+
8 rows in set (0.00 sec)

以下是删除空白行以及 NULL 的查询:

mysql> delete from deleteRowDemo where StudentName='' OR StudentName IS NULL;
Query OK, 4 rows affected (0.18 sec)

现在让我们再次检查表记录。

查询如下:

mysql> select *from deleteRowDemo;

输出如下:

+----+-------------+
| Id | StudentName |
+----+-------------+
| 1  | John        |
| 5  | Carol       |
| 6  | Bob         |
| 8  | David       |
+----+-------------+
4 rows in set (0.00 sec)

更新日期: 30-07-2019

23K+ 浏览

启动你的事业

完成课程可获得认证

开始使用
广告