如何删除 MySQL 表中的所有重复记录?
mysqlmysqli database
要从表中删除重复记录,我们可以使用 DELETE 命令。现在让我们创建一个表。
mysql> create table DuplicateDeleteDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.60 sec)
将记录插入表"DuplicateDeleteDemo":在这里,我们将"John"作为重复记录添加3次。
mysql> insert into DuplicateDeleteDemo values(1,'John'); Query OK, 1 row affected (0.11 sec) mysql> insert into DuplicateDeleteDemo values(1,'John'); Query OK, 1 row affected (0.14 sec) mysql> insert into DuplicateDeleteDemo values(2,'Johnson'); Query OK, 1 row affected (0.13 sec) mysql> insert into DuplicateDeleteDemo values(1,'John'); Query OK, 1 row affected (0.14 sec)
要显示所有记录,请使用 SELECT 语句。
mysql> select *from DuplicateDeleteDemo;
以下是包含重复记录的输出。
+------+---------+ | id | name | +------+---------+ | 1 | John | | 1 | John | | 2 | Johnson | | 1 | John | +------+---------+ 4 rows in set (0.00 sec)
在上面的输出中,表中有 4 条记录,其中 3 条记录是重复的。
要删除重复记录,请使用 DELETE。
mysql> delete from DuplicateDeleteDemo where id=1; Query OK, 3 rows impacted (0.19 sec)
要检查记录是否已被删除,让我们再次显示所有记录。
mysql> select *from DuplicateDeleteDemo;
以下输出显示所有重复记录均已被删除。
+------+---------+ | id | name | +------+---------+ | 2 | Johnson | +------+---------+ 1 row in set (0.00 sec)