mysql Trennzeichen Frage
Wie mache ich das:
mysql -u myuser -p mydb -e "select f1,f2 from mytable" > /tmp/mydata.txt
Aber ich wollen, trennen Sie die Felder mit einem Komma.
mysql --delimiter=, -u myuser -p mydb -e "select f1,f2 from mytable" > /tmp/mydata.txt
Funktioniert nicht 🙁
- Lesen Sie das Handbuch über --delimiter-option, glaube ich nicht, es ist die richtige option, die Sie suchen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nicht wirklich verstehen, was ist die Frage? Können Sie erklären, was Sie wollen ?
Wenn Ihr Wunsch ist es, fügen Sie Trennzeichen, um Ihre Ausgabe, die Sie verwenden müssen, CONCAT_WS :
können Sie IN OUTFILE wie diese :
erfordert ** DATEI ** Berechtigungen für mysql-user https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html (Berechtigung zum schreiben auf mysql-host-Dateisystem). Es ist Problem mit Verletzlichkeit und daher die Datenbank - * * ALLE BERECHTIGUNGEN ** enthält nicht die DATEI-Berechtigungen.
In den meisten Fällen die bessere Nutzung der pipeline Ersatz von Tabulator-Symbole
\t
zu jedem Zeichen, das Sie wollen,
:sed
verwenden, können Sietr '\t' ','
Setzen Sie das Komma zwischen Anführungszeichen:
Können Sie auch versuchen, das SELECT INTO OUTFILE-Befehl zum erzeugen der CSV-Datei. Info hier: http://dev.mysql.com/doc/refman/5.1/en/select.html