Die Umkehrung von LOAD DATA INFILE ist das SELECT INTO OUTFILE, eine Variante des regulären SELECT.
SELECT ... INTO OUTFILE '/home/www/servers/www.servername.de/tmp/export.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' FROM ...;
Das Kommando wird die Datei auf dem Rechner anlegen, auf dem der Datenbankserver läuft und die Datei wird dem Benutzer gehören, unter dessen User-ID der Datenbankserver abläuft. Der Datenbankserver wird eine existierende Datei nicht überschreiben. Zur Ausführung des Kommandos ist file_priv notwendig.
Eine vollständige Beschreibung des Kommandos in englischer Sprache gibt es im MySQL Manual.
Wenn man kein file_priv hat, muss man sich stattdessen eine entsprechende Funktion in PHP selber bauen. Dabei ist folgendes zu beachten:
In CSV-Dateien sind Datensätze durch Kommata getrennt.
In CSV-Dateien sind Datensätze, die Sonderzeichen enthalten, insbesondere solche, die Kommata oder Anführungszeichen enthalten, durch Anführungszeichen einzuschließen.
In CSV-Dateien dürfen alle Datensätze in Anführungszeichen eingeschlossen werden.
In CSV-Dateien sind in Datensätzen, die Anführungszeichen enthalten, die Anführungszeichen zu verdoppeln.
Eine zweispaltige Tabelle, die die Tupel ( a; 10,4) und (b; Er sagte: "Hallo, Du!" ) enthält, muss nach dem Export also so aussehen:
a,"10,4" b,"Er sagte: ""Hallo, Du!"""






