MySQLLOAD DATA INFILE

Syntax

Mit LOAD DATA INFILE große Datenmengen in die Datenbank laden

Betrachten Sie das folgende Beispiel unter der Annahme, dass Sie eine ‚;‘-begrenzte CSV in Ihre Datenbank laden wollen.

1;max;male;manager;12-7-19852;jack;male;executive;21-8-1990...1000000;marta;female;accountant;15-6-1992

Erstellen Sie die Tabelle zum Einfügen.

Verwenden Sie die folgende Abfrage, um die Werte in diese Tabelle einzufügen.

Betrachten Sie den Fall, dass das Datumsformat nicht dem Standard entspricht.

1;max;male;manager;17-Jan-19852;jack;male;executive;01-Feb-1992...1000000;marta;female;accountant;25-Apr-1993

In diesem Fall können Sie das Format der dob Spalte vor dem Einfügen wie folgt ändern.

Dieses Beispiel für LOAD DATA INFILE zeigt nicht alle verfügbaren Funktionen.

Weitere Hinweise zu LOAD DATA INFILE finden Sie hier.

Importieren einer CSV-Datei in eine MySQL-Tabelle

Der folgende Befehl importiert CSV-Dateien in eine MySQL-Tabelle mit den gleichen Spalten unter Berücksichtigung der CSV-Quoting- und Escaping-Regeln.

Daten mit Duplikaten laden

Wenn Sie den Befehl LOAD DATA INFILE verwenden, um eine Tabelle mit vorhandenen Daten zu füllen, werden Sie oft feststellen, dass der Import aufgrund von Duplikaten fehlschlägt. Es gibt mehrere Möglichkeiten, dieses Problem zu umgehen.

Wenn diese Option in Ihrem Server aktiviert wurde, kann sie dazu verwendet werden, eine Datei zu laden, die auf dem Client-Computer und nicht auf dem Server existiert. Ein Nebeneffekt ist, dass doppelte Zeilen für eindeutige Werte ignoriert werden.

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' INTO TABLE employee

Load DATA INFILE ‚fname‘ REPLACE

Wenn das Schlüsselwort replace verwendet wird, werden doppelte eindeutige oder primäre Schlüssel dazu führen, dass die vorhandene Zeile durch eine neue ersetzt wird

LOAD DATA INFILE 'path of the file/file_name.txt' REPLACE INTO TABLE employee

LOAD DATA INFILE ‚fname‘ IGNORE

Das Gegenteil von REPLACE, werden bestehende Zeilen beibehalten und neue ignoriert. Dieses Verhalten ist ähnlich wie das oben beschriebene LOCAL. Allerdings muss die Datei nicht auf dem Client-Computer existieren.

LOAD DATA INFILE 'path of the file/file_name.txt' IGNORE INTO TABLE employee

Laden über Zwischentabelle

Manchmal ist das Ignorieren oder Ersetzen aller Duplikate nicht die ideale Option. Möglicherweise müssen Sie Entscheidungen auf der Grundlage des Inhalts anderer Spalten treffen. In diesem Fall ist die beste Option, in eine Zwischentabelle zu laden und von dort zu übertragen.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

Import / Export

Import

SELECT a,b,c INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

Export

LOAD DATA INFILE 'result.txt' INTO TABLE table;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.