680MB csv in MySQL einlesen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 680MB csv in MySQL einlesen

    Hi,
    hab ne 680MB grosse csv Datei mit 450 Fields.
    Was ist der einfachste und schnellste Weg diese in deine MySQL Datenbank einzulesen?
    Ueber phpMyAdmin gehts nicht weil die Datei zu gross ist. Auch bei einer vergrösserung des max. Upload und des post_max in der php.ini gehts nicht. Zudem ist dann noch dass Problem das ich jedem Feld vorher einen Namen geben muss.
    Gibts eine andere Möglichkeit die Daten ohne grosse Einstellungen in die Database einzulesen?
  • Hi,

    Die Anweisung LOAD DATA INFILE liest Datensätze mit extrem hoher Geschwindigkeit aus einer Textdatei in eine Tabelle ein. Der Dateiname muss als literaler String übergeben werden.

    Mit LOAD DATA INFILE können Sie Dateien lesen, die Sie aus externen Quellen erhalten haben. Beispielsweise exportieren viele Programme Daten als kommagetrennte Werte im so genannten CSV-Format (Comma-Separate Values). Hierbei werden die Felder durch Kommata voneinander getrennt und in doppelte Anführungszeichen gesetzt. Wenn Zeilen in einer solchen Datei durch Zeilenumbrüche abgeschlossen werden, veranschaulicht die folgende Anweisung die Optionen zur Feld- und Zeilenbehandlung, wie Sie sie zum Laden der Datei verwenden würden:

    Quellcode

    1. LOAD DATA LOCAL
    2. INFILE '/var/www/blaaa.csv'
    3. REPLACE
    4. INTO TABLE tabellenname
    5. FIELDS
    6. TERMINATED BY ';'
    7. OPTIONALLY ENCLOSED BY '"';


    http://dev.mysql.com/doc/refman/5.1/de/load-data.html