如何删除数据库中的重复记录(一)
Jun 07, 2016 pm 02:59 PM今天去西安一家公司去面试,其中有一道面试题是这样的:“如何删除在数据表中完全相同的记录,如果两条相同的记录主键不同,那么又应该如何删除” ,当时因为是很简单的题目就直接用sql语句完成,面试官看了之后说这个有问题。回来研究一下果然错了。现在把
今天去西安一家公司去面试,其中有一道面试题是这样的:“如何删除在数据表中完全相同的记录,如果两条相同的记录主键不同,那么又应该如何删除” ,当时因为是很简单的题目就直接用sql语句完成,面试官看了之后说这个有问题。回来研究一下果然错了。现在把研究的步骤分享下来。
研究条件:
window7 + no-install mysql
1. 如何删除除了主键不同其他属性均相同的记录
主要思想:首先从数据表中找出没有重复的数据记录,然后把这些记录保存到临时表中,然后删除原表记录把临时表中的记录迁移过去。
具体步骤:
一、 查看下表在student中有两条相同记录,有distinct查找不同的记录(如右图)。
二、 创建临时表,把上面右图的数据迁移到临时表student_temp中.
sql语句: create temporary table if not exists student_temp as (select distinct(name), sex from student);
三、 删除原表内容或者重新创建张新表,本例采用在原表基础上修改,然后把student_temp内容迁移到student,最后结果如下图所示:
用到sql: insert into student(id, name,sex ) select null,name,sex from student_temp;
最后就可以看到student表中只有两条不同数据了。

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Stimmt es, dass Sie auf WeChat blockiert und gelöscht werden können und dauerhaft nicht hinzugefügt werden können?

So löschen Sie den TikTok-Chatverlauf vollständig

Wie implementiert die Go-Sprache die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank?

Ausführliches Tutorial zum Herstellen einer Datenbankverbindung mit MySQLi in PHP

Wie implementiert Hibernate polymorphe Zuordnung?

iOS 18 fügt eine neue Albumfunktion „Wiederhergestellt' hinzu, um verlorene oder beschädigte Fotos wiederherzustellen

Eine ausführliche Analyse, wie HTML die Datenbank liest
