Frage

Wie rufe ich die folgenden in einer SQL-Datei?

mysql -u username -h serverip db -e "select a, b, c, d from mytable" > '/home/dump/result.txt';

Ich werde dann konvertieren müssen die Registerkarte Datei zu csv getrennt, für die ich will sed verwenden.

  1. Gibt es eine Möglichkeit, es alles in einem zu tun Linie? (Append sed Befehl convert die TXT-Datei csv)
  2. Wie man verwendet ein os.system Anruf in SQL-Datei? Wird es Arbeit?
War es hilfreich?

Lösung

Versuchen Sie diese:

mysql --batch --skip-column-names -u username -h serverip db \
  -e "select a, b, c, d from mytable" \
  | sed -e 's/\t/,/g' \
  > '/home/dump/result.txt'

Siehe Dokumentation für --batch und --skip-column-names für weitere Informationen.

Andere Tipps

Was ist diese Abfrage über mysql Konsole Client ausgeführt werden:

SELECT ... FROM ... INTO OUTFILE  '/path/to/file.csv' 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY "\n"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top