2 Stimmen

Exportieren einer SQL-Tabelle in CSV mit escapeten Kommas?

Ich habe eine große MySQL-Tabelle (8-9k Datensätze, ich benutze phpMyAdmin) mit einigen Werten, die Beschreibungen sind, mit Kommas.

Ich muss die SQL-Tabelle in das CSV-Format exportieren, um sie auf einer neuen Plattform zu verwenden, und ich kann dieses Problem beim besten Willen nicht lösen:

Wenn sich in bestimmten Feldern Kommas befinden, werden die Daten in die nächste Spalte verschoben, und die Reihenfolge gerät durcheinander.

Ich benötige lediglich die exakte Tabelle in MySQL, die in eine CSV-Datei umgewandelt werden soll. Irgendwelche Tipps, Ideen?

Merci.

6voto

Lil' Bits Punkte 898

Verwenden Sie diese Abfrage:

SELECT * INTO OUTFILE 'filename.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM [tablename]

Quelle : http://www.wausita.com/2011/02/mysql-export-csv/

4voto

Jason McCreary Punkte 69116

Rufen Sie einfach die Datenbank unter Exportieren tab. Achten Sie darauf, dass umschließen Sie Ihre Felder. Auf diese Weise werden Werte in " um fehlerhafte Kommas zu vermeiden.

Andernfalls können Sie mysqldump über die Befehlszeile.

Oder Sie können Daten mit einer Abfrage exportieren:

SELECT *
FROM table
INTO OUTFILE '/tmp/table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

2voto

khaverim Punkte 3068

Meine Lösung war das Exportieren als .xlsx aus MySQL. Die Spalten wurden perfekt wiedergegeben. Verwendung von mehrere Kombinationen von umschließenden/ausschneidenden Zeichen waren erfolglos.

Dann habe ich die .xlsx-Datei als .csv-Datei gespeichert, und es war alles in Ordnung.

Vielen Dank für Ihre Zeit.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X