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

相关文章