Eine einfache Methode zum Zusammenführen und Entfernen doppelter MySQL-Tabellen

Eine einfache Methode zum Zusammenführen und Entfernen doppelter MySQL-Tabellen

Szenario:

Die gecrawlten Daten erzeugen eine Datentabelle mit der gleichen Struktur wie eine andere Haupttabelle, die zusammengeführt und dedupliziert werden muss

Lösung: (direktes Beispiel)

Erstellen Sie zunächst zwei Tabellen pep und pep2, wobei pep die Haupttabelle ist

Tabelle erstellen, wenn nicht vorhanden `pep/pep2`(
`id` INT UNSIGNED AUTO_INCREMENT,
`nein` VARCHAR(100) NICHT NULL,
PRIMÄRSCHLÜSSEL ( `id` )
)ENGINE=InnoDB STANDARD-CHARSET=utf8;

Fügen Sie dann zwei Daten in pep ein und fügen Sie ein Datenstück, das mit dem in pep identisch ist, in pep2 ein.

in pep(no) Werte einfügen('abc');
in pep(no) Werte einfügen('caa');

in pep2 einfügen (keine) Werte ('abc');

Pep2-Daten in Pep einfügen

in pep einfügen (nein) nein aus pep2 auswählen;

Gruppe zum Neuerstellen einer neuen temporären Tabelle tmp

Erstellen Sie die temporäre Tabelle, wählen Sie ID, Nr. aus der Pep-Gruppe nach Nr.

Hinweis: Nach dem Erstellen dieser Tabelle ist der ID-Feldtyp kein Primärschlüssel-Autoinkrement mehr

 Möglicherweise erhalten Sie auch die Fehlermeldung ```Syntaxfehler oder Zugriffsverletzung: 1055 Ausdruck Nr. 1 von SELECT 
 Liste ist nicht in der GROUP BY-Klausel und enthält nicht aggregierte 
 Spalte 'XXX.Y.ZZZZ', die nicht funktional abhängig ist von 
 Spalten in der GROUP BY-Klausel; dies ist inkompatibel mit
 sql_mode=only_full_group_by
 ```
 Lösung: Führen Sie die folgenden beiden Befehle aus:
 ```
 mysql> globalen SQL-Modus festlegen = 'STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION';
 
 mysql> Sitzung festlegen sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
 ```

Löschen Sie die pep-Tabelle und benennen Sie die tmp-Tabelle in pep um.

Tischpep fallen lassen;
Tabelle vorübergehend ändern, in „pep“ umbenennen;

Überprüfen Sie die Desc-Struktur und wählen Sie * aus Pep aus. Sie werden feststellen, dass sich der Feldtyp der ID geändert hat. Sie müssen ihn wieder auf den ursprünglichen Typ zurücksetzen.

Tabelle ändern, Pep Primärschlüssel (ID) hinzufügen;
Tabelle ändern, PEP-ID ändern, int auto_increment;

Sie können auch Join verwenden, um Duplikate zu entfernen. Um schneller zu sein, können Sie ein Feld hinzufügen (das der kombinierte MD5-Wert mehrerer Felder sein kann), einen eindeutigen Index für dieses Feld erstellen und doppelte Daten beim Einfügen von Daten in Zukunft automatisch herausfiltern.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Zusammenfassung der drei Deduplizierungsmethoden in SQL
  • Detailliertes Beispiel zur Verwendung der distinct-Methode in MySQL
  • So optimieren Sie den MySQL-Deduplizierungsvorgang maximal
  • MySQL-Deduplizierungsmethoden
  • Detaillierte Erklärung zweier Methoden zur Deduplizierung in MySQL und Beispielcode
  • SQL-Lernhinweise 5: So entfernen Sie Duplikate und weisen neu hinzugefügten Feldern Werte zu
  • Zusammenfassung der SQL-Deduplizierungsmethoden

<<:  Lösen Sie das Problem inkonsistenter Front- und Back-End-Ports von Vue

>>:  Ubuntu 18.04 erhält Root-Berechtigungen und meldet sich als Root-Benutzer an

Artikel    

Artikel empfehlen

Detaillierte Erklärung zur Verwendung der vue3 Teleport-Sofortbewegungsfunktion

Die Verwendung der vue3 Teleport-Sofortbewegungsf...

Erweiterte Docker-Methode zur schnellen Erweiterung

1. Befehlsmethode Führen Sie den Nginx-Dienst im ...

So verwenden Sie die Shell, um Batchvorgänge auf mehreren Servern auszuführen

Inhaltsverzeichnis SSH-Protokoll SSH Verbindungsp...

Zusammenfassung einiger gängiger Protokolle in MySQL

Vorwort: Im MySQL-System gibt es viele verschiede...

Beste Tools zum Erstellen und Bearbeiten von Screenshots unter Linux

Als ich mein primäres Betriebssystem von Windows ...

Beispiel für utf8mb4-Sortierung in MySQL

Allgemeine utf8mb4-Sortierregeln in MySQL sind: u...

Beispiel für die Konfiguration der Timeout-Einstellung für MySQL-Datenbanken

Inhaltsverzeichnis Vorwort 1. JDBC-Timeout-Einste...

Implementieren eines binären Suchbaums in JavaScript

Die Implementierung des Suchbinärbaums in JavaScr...

Reines CSS3 zum Erstellen eines Beispielcodes für Seitenwechseleffekte

Das, was ich vorher geschrieben habe, ist zu komp...

Vue integriert Tencent TIM Instant Messaging

In diesem Artikel wird hauptsächlich die Integrat...