Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Hochladen einer großen CSV-Datei in die MySQL-Datenbank

Wenn Sie die entsprechenden Berechtigungen haben, können Sie dies direkt in MySQL mit dem LOAD DATA INFILE tun Befehl, siehe http://dev.mysql.com/ doc/refman/4.1/en/load-data.html oder der mysqlimport Dienstprogramm finden Sie unter http://dev.mysql.com/doc/ refman/4.1/en/mysqlimport.html

Mit beiden Methoden können Sie angeben, in welche Spalten die Daten gehen sollen, zum Beispiel:

LOAD DATA INFILE 'myfile.txt' INTO TABLE 'mytable' (col1, col2, col3, ...)

oder

mysqlimport --columns='col1,col2,...' tablename.csv

Wenn Sie beabsichtigen, dies von PHP aus zu tun, sollten Sie in der Lage sein, jede Zeile der CSV-Datei zu lesen und eine entsprechende SQL-INSERT-Abfrage auszuführen, die die entsprechenden Spalten benennt (obwohl dies nicht so effizient ist, wie dies direkt in MySQL zu tun). P>

BEARBEITEN:Ich sollte hinzufügen, dass Sie nicht erwähnt haben, was Sie bisher versucht haben oder was Sie schwierig finden. Wenn Sie bei etwas Bestimmtem nicht weiterkommen, anstatt nur nach Vorschlägen zu suchen, wie Sie es tun können, aktualisieren Sie bitte die Frage, um dies zu sagen.