在进行数据库操作时,删除重复的数据是非常常见的场景。但是,如果不小心将重复数据删除后,后悔仍然有机会。在 SQL 数据库中,还原已删除数据是一项基本技能。在这篇教程中,我们将探讨如何使用 SQL 恢复表格中已删除重复项的数据。
1. 创建测试数据库
为了演示如何恢复数据库,我们需要先创建一个可以测试的数据库。在此,我们将使用 MySQL 数据库。按照以下步骤操作:
“`
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE customers (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
eml VARCHAR(50)
);
INSERT INTO customers (name, eml) VALUES (‘Cady’, ‘cady@test.com’);
INSERT INTO customers (name, eml) VALUES (‘Jason’, ‘jason@test.com’);
INSERT INTO customers (name, eml) VALUES (‘Cady’, ‘cady@test.com’);
INSERT INTO customers (name, eml) VALUES (‘Relle’, ‘relle@test.com’);
INSERT INTO customers (name, eml) VALUES (‘Relle’, ‘relle@test.com’);
INSERT INTO customers (name, eml) VALUES (‘Lily’, ‘lily@test.com’);
“`
在这里我们创建了一个名为 `test_db` 的数据库,并在其中创建了名为 `customers` 的表格。通过 `INSERT` 语句添加了 6 条记录,前两条记录是不重复的,接下来的两条记录是重复的,最后两条记录也是重复的。
2. 查看重复项
我们可以使用 SQL 查询语句查看重复项。执行以下查询语句:
“`
SELECT name, eml, COUNT(*) c FROM customers
GROUP BY name, eml
HAVING c > 1;
“`
输出结果如下:
“`
+——-+—————-+—+
| name | eml | c |
+——-+—————-+—+
| Cady | cady@test.com | 2 |
| Relle | relle@test.com | 2 |
+——-+—————-+—+
“`
我们可以看到,输出结果中有两个名为 “Cady” 和 “Relle” 的重复记录。
3. 删除重复项
接下来,我们将使用 SQL 删除语句删除重复项。执行以下语句:
“`
DELETE FROM customers WHERE id IN (
SELECT MIN(id) FROM customers
GROUP BY name, eml
HAVING COUNT(*) > 1
);
“`
执行以上语句后,我们可以再次查询数据库中的内容,如下所示:
“`
SELECT * FROM customers;
“`
输出结果如下:
“`
+—-+——-+—————-+
| id | name | eml |
+—-+——-+—————-+
| 1 | Cady | cady@test.com |
| 2 | Jason | jason@test.com |
| 4 | Relle | relle@test.com |
| 6 | Lily | lily@test.com |
+—-+——-+—————-+
“`
我们可以看到,经过删除后,数据库中只剩下了 4 条记录,其中重复的条目已经被删除了。
4. 恢复重复项
现在,如果我们希望恢复已删除的重复项,我们可以使用 SQL INSERT INTO 语句。具体操作如下:
“`
INSERT INTO customers (name, eml)
SELECT name, eml FROM (
SELECT name, eml, COUNT(*) c FROM customers
GROUP BY name, eml
HAVING c > 1
) temp
ORDER BY name;
“`
执行以上语句后,我们再次查询数据库,数据如下:
“`
+—-+——-+—————-+
| id | name | eml |
+—-+——-+—————-+
| 1 | Cady | cady@test.com |
| 2 | Jason | jason@test.com |
| 3 | Cady | cady@test.com |
| 4 | Relle | relle@test.com |
| 5 | Relle | relle@test.com |
| 6 | Lily | lily@test.com |
+—-+——-+—————-+
“`
我们可以看到,恢复了两个重复的条目。
结论
在 SQL 中,我们可以轻松地恢复已删除的重复项。我们还可以使用不同的 SQL 查询和删除语句来适应实际情况。请记住,恢复数据之前,请确保先备份数据以供以后参考。
相关问题拓展阅读:
表格怎么删除重复数据
表格怎么删除重复数据方法如下:
工具:戴尔电脑K550、操作系统:win10、操作软件:excel2023。
1、之一步:在中打开要操作的EXCEL表,选择需要删除重复知道的数据列,点击工具栏中的“数据”项。
2、档森第二步:找到行逗亩数据工具,点击“删除重复”。
3、第三步:选择“全部”,然后点击下面的OK按钮。
4、第四步:返回EXCEL表,发现重复的转述已被成功删除,只剩下一个。
小技巧
1、按alt+向下箭头,可以根据已输入过的内容自动生成下拉列表。
2、按alt+=号,可以快速插入求指燃和公式。
3、按alt+回车键,可以在指定的位置强行换行。
4、选取整个区域,按alt+;选取时可以跳过隐藏区域,只选取显示的区域。
5、按alt+数字键可以输入特殊符号:如alt+41420可以输入√、alt+41409可以输入×。
6、按Ctrl+D向下填充。选取一个含公式或值的单元格以及下面的N个单元格,可以填充值或公式。
关于表格删除重复项后怎么恢复数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
来源地址:SQL教程:如何恢复表格中已删除重复项的数据库? (表格删除重复项后怎么恢复数据库)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^