如何在 MySQL 中删除空白行?

mysqlmysqli database更新于 2025/1/18 3:56:17

使用 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)

相关文章


有用资源