Hilfe mit MySQL (.sql) und Shell-Skript
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.
- Gibt es eine Möglichkeit, es alles in einem zu tun Linie? (Append sed Befehl convert die TXT-Datei csv)
- Wie man verwendet ein os.system Anruf in SQL-Datei? Wird es Arbeit?
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