我如何刪除 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+ 瀏覽

啟動你的事業

完成課程可獲得認證

開始使用
廣告
© . All rights reserved.