Ich werde in Seminaren, Workshops oder in Kundenprojekten in Sachen MySQL immer mal wieder mit Dingen konfrontiert, auf die ich ad hoc keine Antwort habe bzw. mit denen ich noch keine Erfahrung gesammelt habe.
Das Problem
Die heutige Frage eines/-r Teilnehmer:in war eigentlich kein echtes Problem: Wie kann ich überhaupt Tabellendaten in eine CSV-Datei exportieren?
Auf diese Frage gibt es viele Antworten:
- Über ein Shell-Skript
- „SELECT INTO OUTFILE“-Syntax [1]
- Tools (z. B. MySQL Workbench)
Da mein Lieblingstool derzeit aber die MySQL Shell ist, habe ich zur Beantwortung dieser Frage eben dieses Werkzeug benutzt. Wie immer nutzen wir die MySQL Demodatenbank „sakila“ zur Veranschaulichung.
Wir möchten in unserem Beispiel die Daten der Schauspieler (Tabelle: „actor“) in einer CSV-Datei ablegen.
Die Lösung
Zur Lösung dieser Aufgabe nutzen wir das „Table Export Utility“ der MySQL Shell[2]. Die Nutzung beschränkt sich auf wenige Parameter und geht leicht von der Hand. Die ersten beiden Parameter definieren Quelle (Tabelle) und Ziel (Export-Datei). Der dritte Parameter kann optional genutzt werden, um spezielle Einstellungen vorzunehmen. Wir nutzen in unserem Beispiel exemplarisch einige dieser Einstellungen:
Fazit
Die MySQL-Shell bietet viele kleine (und große) nützliche Ergänzungen zum klassischen MySQL-Client. Auch das Exportieren (und wie am Ende der Ausgabe zu erkennen ist, das „Importieren“ von Daten) lässt sich mit der Shell unkompliziert umsetzten.
Links
[1] https://dev.mysql.com/doc/refman/8.0/en/select-into.html
[2] https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-table-export.html
Seminarempfehlung
MYSQL ADMINISTRATION DB-MY-01
Zum Seminar