CSV-Dateien in MySQL importieren: Eintauchen in LOAD DATA und mysqlimport
Die Herausforderung beim Importieren einer CSV-Datei in eine MySQL-Tabelle kann entstehen, wenn Umgang mit nicht normalisierten Daten und mehreren Spalten. Um dieses Problem zu lösen, ist es wichtig, die Nuancen des Importprozesses zu berücksichtigen.
Der LOAD DATA-Ansatz
LOAD DATA bietet eine unkomplizierte Methode zum Importieren von Daten aus einer CSV-Datei . Es ist jedoch wichtig, zusätzliche Parameter anzugeben, um eine ordnungsgemäße Verarbeitung von Textklappen zu gewährleisten, die sich über mehrere Zeilen erstrecken. Hier ist ein Beispiel, das potenzielle Probleme mit Zeilenumbrüchen behebt:
LOAD DATA INFILE "/home/paul/clientdata.csv" INTO TABLE CSVImport COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;
Diese überarbeitete Anweisung behebt das potenzielle Problem, indem sie Zeilenabschlusszeichen angibt und die erste Zeile für Spaltennamen ignoriert.
Das mysqlimport-Dienstprogramm
Eine weitere Option zum Importieren von CSV-Dateien in MySQL ist mysqlimport, speziell ein Befehlszeilentool für diesen Zweck konzipiert. Es bietet eine leistungsstarke und effiziente Möglichkeit, große Datensätze zu importieren:
mysqlimport --ignore-lines=1 \ --fields-terminated-by=, \ --local -u root \ -p Database \ TableName.csv
In diesem Befehl überspringt „--ignore-lines=1“ die erste Zeile der CSV-Datei (die Spaltennamen enthält), „- -fields-terminated-by=“ gibt das Feldtrennzeichen als Komma an, „--local“ stellt sicher, dass der Import auf dem lokalen Computer erfolgt, und „-u root -p“ fordert zur Eingabe eines Root-Passworts auf, bevor eine Verbindung zum hergestellt wird Datenbank.
Zusätzliche Überlegungen
Um das Feldtrennzeichen anzupassen, verwenden Sie die Option „--fields-terminated-by='t'“ für tabulatorgetrennte Dateien. Wenn die CSV-Datei außerdem Sonderzeichen enthält, die maskiert werden müssen, verwenden Sie die Option „--lines-terminated-by=‘r‘“ für Windows-Zeilenenden und „--lines-terminated-by=‘n‘“ für Unix-Zeilen Endungen.
Das obige ist der detaillierte Inhalt vonLOAD DATA vs. mysqlimport: Welches ist der beste Weg, CSV-Dateien in MySQL zu importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!