Kapitel 4: Einf¨uhrung in MySQL: Ein MySQL-Tutorial 165
4.6 mysql im Stapelbetrieb (Batch Mode)
In den vorherigen Abschnitten haben Sie mysql interaktiv benutzt, um Anfragen einzugeben
und die Ergebnisse zu betrachten. Sie k¨onnen mysql auch im Stapelbetrieb benutzen. Daf¨ur
schreiben Sie dei Befehle, die Sie ausf¨uhren wollen, in eine Datei, und teilen mysql dann
mit, seine Eingaben aus dieser Datei zu lesen:
shell> mysql < stapel-datei
Wenn Sie auf der Kommandozeile Verbindungsparameter angeben m¨ussen, k¨onnte der Be-
fehl wie folgt aussehen:
shell> mysql -h host -u user -p < stapel-datei
Enter password: ********
Wenn Sie mysql auf diese Weise benutzen, erzeugen Sie eine Skript-Datei und f¨uhren dann
das Skript aus.
Warum sollten Sie ein Skript benutzen? Hier sind ein paar Gr¨unde:
• Wenn Sie eine Anfrage wiederholt ausf¨uhren (sagen wir jeden Tag oder jede Woche),
vermeiden Sie mit einem Skript, dass Sie sie jedes Mal zur Ausf¨uhrung erneut eintippen
m¨ussen.
• Sie k¨onnen aus existierenden Anfragen neue Anfragen erzeugen, die ¨ahnlich sind, indem
Sie die Skript-Dateien kopieren und editieren.
• Der Stapelbetrieb kann auch f¨ur die Entwicklung einer Anfrage n¨utzlich sein, insbeson-
dere, wenn Sie mehrzeilige Befehle oder Befehlssequenzen aus mehreren Statements
entwickeln. Wenn Sie einen Fehler machen, m¨ussen Sie nicht alles noch einmal tippen,
sondern editieren einfach Ihr Skript, um den Fehler zu beheben, und weisen mysql an,
es erneut auszuf¨uhren.
• Wenn Sie eine Anfrage haben, die eine gr¨oßere Ausgabe erzeugt, k¨onnen Sie die Ausgabe
durch einen Pager laufen lassen, statt zuzusehen, wie Sie ¨uber den Bildschirm flimmert:
shell> mysql < stapel-datei | more
• F¨ur weitere Verarbeitung k¨onnen Sie die Ausgabe auch in eine Datei lenken:
shell> mysql < stapel-datei > mysql.ausgabe
• Sie k¨onnen Ihr Skript an andere Leute verteilen, so dass auch sie die Befehle laufen
lassen k¨onnen.
• In einigen Situationen ist interaktive Benutzung nicht angebracht, zum Beispiel dann,
wenn Sie eine Anfrage durch einen cron-Job ausf¨uhren lassen. In diesem Fall brauchen
Sie Stapelbetrieb.
Das Standard-Ausgabeformat ist anders (pr¨aziser), wenn Sie mysql im Stapelbetrieb laufen
lassen, als wenn Sie es interaktiv nutzen. Die Ausgabe von SELECT DISTINCT art FROM pet
zum Beispiel sieht so aus, wenn Sie sie interaktiv laufen lassen:
+---------+
| art |
+---------+
| Vogel |
| Katze |
| Hund |
Comentarios a estos manuales