我如何删除 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)
广告