MySQL import CSV-Daten - ignorieren einige csv-Spalten
Ich habe einige CSV Dateien die ich laden möchte in meiner Datenbank, aber die CSV-Datei enthält viele, viele mehr Spalten, als in meiner Datenbank. Wie Importiere ich nur die ausgewählten Spalten aus der CSV-Datei in meine Datenbank?
Für Argumente Willen, lassen Sie uns sagen, dass die CSV enthält eine Kopfzeile mit den überschriften von A bis Z, und dann zwei Millionen Zeilen mit den Werten für die Spalten A bis Z. Lassen Sie uns sagen, meine Tabelle myTest enthält B, N und S, so dass ich nur die zu importierenden Spalte B, N und S aus der CSV-Datei in myTest.
War ich der Planung zu tun:
mysqlimport --local --columns=B,N,S --ignore-lines=1 --delete --default-character-set=latin1 --fields-optionally-enclosed-by=\" --fields-terminated-by=\, --lines-terminated-by=\r\n myDb myTest.csv
Aber das füllt Zeile B,N und S, wobei die Werte der Spalte A, B und C, nicht mit den Werten der Spalte B, N und S, wie ich wollte.
Irgendwelche Vorschläge, wie ich es machen kann, nur import B, N und S?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ändern, um die
--columns=B,N,S
und hinzufügen, um Parameter zu überspringen, alle die Spalten, die Sie nicht brauchen.Zum Beispiel, um 1., 4. und 7. Spalte:
Diese senden die 2., 3., 5. und 6. Spalte parameter @x.
Ref: http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html