Das Importieren großer Datensätze aus Textdateien in MySQL kann eine häufige Aufgabe sein, wenn es um Datenanalysen oder Integrationsszenarien geht . Eine der effizientesten Möglichkeiten, dies zu erreichen, ist die Verwendung des Befehls LOAD DATA INFILE.
Befehlsstruktur
Der Befehl LOAD DATA INFILE folgt einer bestimmten Syntax:
LOAD DATA INFILE 'file_path' INTO TABLE table_name FIELDS TERMINATED BY 'delimiter' LINES TERMINATED BY 'line_delimiter' (column_list)
Tabulatorgetrennt importieren Daten
Wie in Ihrer Frage erwähnt, enthält Ihre Textdatei tabulatorgetrennte Daten. Standardmäßig geht LOAD DATA INFILE von einem Tabulator als Feldtrennzeichen aus. Daher sollte der folgende Befehl Ihre Daten importieren:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport;
Trennzeichen angeben
Wenn Ihre Datei ein anderes Trennzeichen verwendet, können Sie es mithilfe von FIELDS TERMINATED BY angeben Klausel. Wenn Ihre Daten beispielsweise durch Kommas getrennt sind:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ','
Zeilentrennzeichen festlegen
Die LINES TERMINATED BY-Klausel gibt das Zeilenendezeichen an. Standardmäßig ist es „n“ für neue Zeile. Wenn Ihre Datei ein anderes Zeichen verwendet, passen Sie es entsprechend an.
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; # If your file uses CRLF as line delimiter
Spaltenzuordnung
Mit dem Teil (column_list) können Sie die Zuordnung zwischen den Spalten in der Datei angeben Textdatei und die Spalten in der Datenbanktabelle. Wenn die Reihenfolge und Anzahl der Spalten übereinstimmen, können Sie diesen Teil weglassen.
Beispiel mit Spaltenzuordnung
Angenommen, Ihre Textdatei enthält zusätzliche Spalten, die in der PerformanceReport-Tabelle nicht vorhanden sind . Sie können in Ihrem Befehl nur die relevanten Spalten angeben:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport (id, date, value, keyword, cost, clicks) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
Weitere Überlegungen
Das obige ist der detaillierte Inhalt vonWie importiert man tabulatorgetrennte Textdateien mithilfe von LOAD DATA INFILE effizient in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!