Heim  >  Artikel  >  Datenbank  >  Wie lösche ich doppelte Datensätze in der MySQL-Datenbank?

Wie lösche ich doppelte Datensätze in der MySQL-Datenbank?

青灯夜游
青灯夜游Original
2020-09-03 13:18:5612720Durchsuche

MySQL-Schritte zum Löschen doppelter Datensätze in der Datenbank: Zählen Sie zuerst doppelte Daten. Verwenden Sie dann die Anweisung „SELECT DISTINCT“, um doppelte Daten zu filtern. Fügen Sie schließlich INDEX und PRIMAY KEY zur Datentabelle hinzu, um doppelte Datensätze in der Tabelle zu löschen.

Wie lösche ich doppelte Datensätze in der MySQL-Datenbank?

Es können doppelte Daten in regulären MySQL-Datentabellen vorhanden sein. In einigen Fällen sind doppelte Daten zulässig. Zu diesem Zeitpunkt müssen wir diese doppelten Daten finden und löschen sind die Details der Behandlungsmethode!

Verwandte Lernempfehlungen: MySQL-Tutorial(Video)

Methode 1: Verhindern Sie, dass doppelte Daten in der Tabelle angezeigt werden

Wenn der Tabelle keine Daten hinzugefügt werden, können Sie die angegebenen Felder festlegen Verwenden Sie in der MySQL-Datentabelle den Index PRIMARY KEY (Primärschlüssel) oder UNIQUE (***), um die Datenintegrität sicherzustellen.

Zum Beispiel darf die Schülernummer-Nr. in der Schülerinformationstabelle nicht wiederholt werden. Die Schülernummer-Nr. muss als Primärschlüssel festgelegt werden und der Standardwert darf nicht NULL sein.

CREATE TABLE student 
( 
no CHAR(12) NOT NULL, 
name CHAR(20), 
sex CHAR(10), 
PRIMARY KEY (no) 
);

Methode 2: Filtern und löschen Sie doppelte Werte

Wenn Sie für die Originaldaten in der Datentabelle doppelte Daten entfernen möchten, müssen Sie die Schritte zum Suchen, Filtern und Löschen doppelter Daten ausführen.

1. Duplikatdaten zählen

mysql> SELECT COUNT(*) as repetitions,no 
-> FROM student 
-> GROUP BY no 
-> HAVING repetitions > 1;

Die obige Abfrageanweisung gibt die Anzahl der doppelten Datensätze in der Schülertabelle zurück.

2. Filtern Sie doppelte Daten

Wenn Sie eindeutige Daten lesen müssen, können Sie das Schlüsselwort DISTINCT in der SELECT-Anweisung verwenden, um doppelte Daten zu filtern.

mysql> SELECT DISTINCT no 
-> FROM student;

Sie können GROUP BY auch verwenden, um nicht doppelte Daten in der Datentabelle zu lesen

mysql> SELECT no 
-> FROM student 
-> GROUP BY (no);

3. Doppelte Daten löschen

Um doppelte Daten in der Datentabelle zu löschen, können Sie die folgende SQL-Anweisung verwenden:

mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex); 
mysql> DROP TABLE student; 
mysql> ALTER TABLE tmp RENAME TO student;

Sie können auch doppelte Daten in der Datentabelle löschen. Fügen Sie INDEX (Index) und PRIMAY KEY (Primärschlüssel) zur Tabelle hinzu, um doppelte Datensätze in der Tabelle zu löschen. Die Methode ist wie folgt:

mysql> ALTER IGNORE TABLE student 
-> ADD PRIMARY KEY (no);

Dieser Artikel stammt aus dem PHP-Chinesen Website MySQL-Grafik-Tutorial Kanal, willkommen zum Lernen!

Das obige ist der detaillierte Inhalt vonWie lösche ich doppelte Datensätze in der MySQL-Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn