Ich habe in den vergangenen Ausgaben viel über die ­Administration eines MySQL Servers geschrieben. Abschließend soll es jetzt darum gehen, die Unterschiede in der SQL-Syntax zu verdeutlichen.

Außerdem benötigen wir noch eine geeignete grafische Oberfläche für den Zugriff auf die MySQL-Datenbank. Als grafische Benutzeroberfläche empfiehlt sich der MySQL Browser.

Er wird ebenso wie der MySQL-Administrator von MySQL direkt entwickelt und erhält somit gewissermaßen einen offiziellen Charakter. Aber natürlich können Sie für den SQL-Zugriff auch diverse andere Oberflächen einsetzen. Alle verfügbaren Oberflächen zu erklären, würde allerdings den Rahmen dieser Beiträge sprengen.

Der MySQL Query Browser ist ein einfach zu bedienendes Visualisierungswerkzeug zur Erstellung, Ausführung und Optimierung von SQL-Abfragen. Die Hauptaufgabe dieses Werkzeugs besteht darin, Ihnen beim Erstellen und Testen Ihrer SQL-Abfragen zu helfen. Daneben bietet das Programm eine Reihe nützlicher Zusatzfunktionen. Sie können z.B.

  • Abfragen aufgrund der Abfragenhistorie wieder verwenden,
  • Mehrfachabfragen mit Hilfe des Ergebnisfensters vergleichen,
  • Datenbanken, Lesezeichen und die SQL-Historie mit einer webbrowserähnlichen Oberfläche – dem Objektbrowser – verwalten,
  • Tabellen und Felder für Ihre Abfrage auswählen und Tabellen erstellen und/oder löschen,
  • mit dem Tabelleneditor Tabelleninhalte einfügen, ändern und löschen.

Schauen wir uns nun den MySQL Browser etwas genauer an:

Zunächst stellen Sie wieder eine Verbindung zum MySQL Server her, indem Sie die entsprechenden Verbindungsdaten eingeben:

Abbildung 1: Die Anmeldung

Anschließend erscheint das zentrale Abfragefenster:

Abbildung 2: Das zentrale Abfragefenster

Im unteren Teil des Bildschirms werden anschließend die Ergebnisse dargestellt. Im rechten Teil des Fensters sehen Sie den Objektbrowser. Er hilft Ihnen bei der Verwaltung Ihrer Datenbanken und erlaubt Ihnen, Ihre Datenbanken, Abfragelesezeichen und die Abfragehistorie zu verwalten. Der Datenbankexplorer ist ein Teilbereich des Objektbrowsers. Er stellt eine Art Dateibaum zur Verfügung, mit dem Sie Tabellen und Felder zur Abfrage selektieren und Tabellen zur Bearbeitung auswählen können. Wenn Sie auf eine der Tabellen doppelt klicken, wird eine einfache SELECT-Abfrage der Art SELECT * FROM tabelle erstellt. Über die Kontexttaste im Objektbrowser erhalten Sie weitere Möglichkeiten der Bearbeitung:

Abbildung 2a: Kontextmenü des Dateibaums

Sie können hierüber neue SQL-Schemata, Tabellen und Views erstellen. Aber auch bestehende Tabellen lassen sich problemlos bearbeiten.

Abbildung 3: Tabellendefinition anzeigen

Der Objektbrowser hat zwei weitere Registerkarten: „Chronik“ und „Lesezeichen“.

Häufig verwendete Abfragen können Sie zu einer Sammlung von Lesezeichen hinzufügen.

Abbildung 4: Lesezeichen nutzen

Plazieren Sie häufiger genutzte Abfragen in Lesezeichen, damit Sie diese später schnell wieder finden und erneut nutzen können. Dazu ziehen Sie einfach die Abfragen vom Abfragebereich in den Lesezeichenbrowser und geben den Abfragen einen Namen. Als Short-Key steht die Tastenkombination STRG+B zur Verfügung.

Alternativ steht Ihnen eine Abfragechronik zur Verfügung. Der Browser speichert automatisch alle ausgeführten SQL-Kommandos in einer sogenannten Historienliste, die Sie ebenfalls über die Sidebar am rechten Bildschirmrand erreichen.

Abbildung 5: Chronik nutzen

Mittels Drag&Drop können Sie das SQL Statement in den Eingabebereich verschieben, per Doppelklick lässt es sich auch unmittelbar ausführen. Allerdings wird die Historie meiner Meinung nach sehr schnell unübersichtlich, so dass es sich sicherlich lohnt, wichtige SQL Statements in der Rubrik „Lesezeichen“ zu verwalten. Nachdem wir nun das Objektfenster kennen gelernt haben, sollten wir nun endlich eine SQL-Abfrage ausführen:

Um den MySQL Query Browser kennen zu lernen, geben Sie zunächst ein einfaches SQL-Kommando ein.

Abbildung 6: Ein erster Versuch

Sie sehen, ich habe das Schemata book geöffnet und lasse mir die Spaltennamen der Tabelle authors anzeigen. Das ist recht hilfreich, um die SQL-Abfrage im Eingabebereich zu erstellen.

SQL-Schlüsselwörter werden dabei automatisch farbig hervorgehoben. Die Ausführung starten Sie mit dem Button EXECUTE. Die Ergebnissätze werden anschließend im unteren Bildschirm als Tabelle dargestellt.

Der MySQL Query Browser bietet Ihnen vollständige Flexibilität, um Ihre Abfragen zu erstellen. Sie können Ihre Abfragen von Hand codieren, wie ich es getan habe, oder Sie erstellen die Abfragen visuell durch Auswählen der erforderlichen Tabellen und Spalten über den Datenbankbrowser. Der Code für alle Abfragen und Befehle wird im Abfragebereich angezeigt, in dem er einfach eingegeben und verändert werden kann. Lassen Sie uns als Nächstes die folgende Abfrage visuell erstellen:

SELECT t.'title', t.'subtitle', t.'edition'
FROM titles t
WHERE t.langID = 2
ORDER BY t.'title';

Als Erstes müssen wir hierfür auf den Button SELECT klicken. Sie sollten jetzt sehen, dass sich Ihr Cursor verändert, sobald Sie die Maus in die rechte Sidebar ziehen:

Abbildung 7: SQL-Kommandos per Mausklick

Jetzt wählen wir die Spalten title, subtitle und edition aus. Die Alias-Namen fügt der Editor selbstständig hinzu. Als Nächstes wählen wir in der Befehlsauswahl die Klausel WHERE und selektieren hierfür die Spalte langID. Die Konstante =2 müssen Sie manuell in das Statement einfügen. Abschließend bauen Sie die ORDER-Klausel auf. Auch hier sind als Erstes die Befehlsauswahl und anschließend die entsprechende Spaltenwahl zu treffen. Das auf diesem Weg aufgebaute SQL-Kommando lässt sich anschließend wieder mit dem EXECUTE-Button problemlos ausführen.

Das zentrale SQL-Abfragefenster können Sie im Übrigen individuell über das Menü ANSICHT bzw. über TOOLS/EINSTELLUNGEN anpassen. Aber auch einige Tastenkürzel können die Arbeit mit dem Browser vereinfachen:

  • STRG + Return führt das aktuelle SQL-Kommando aus,
  • STRG+SHIFT+RETURN führt das SQL Statement ebenfalls aus, zeigt die Ergebnisse aber in einem neuen Dialogblatt. Das hat den Vorteil, dass die vorherigen Ergebnisse weiter vorhanden sind.
  • Die Funktionstaste F11 verändert die Anordnung der Teilfenster und verkleinert bzw. vergrößert den Eingabebereich für SQL-Kommandos. Drücken Sie die Taste erneut, wird das Standardlayout wiederhergestellt.
  • F12 schließt alle Teilfenster außer dem aktuellen Ergebnis. Dadurch erhalten Sie mehr Übersicht beim Lesen umfangreicher Ergebnisse.

Bei einfachen Select-Abfragen, die Daten aus nur einer Tabelle enthalten und ohne GROUP BY-Klausel und Agregatfunktionen auskommen, kann die Ergebnismenge auch geändert werden. Dazu klicken Sie auf den Button BEARBEITEN am unteren Ende der Tabelle. Der Button wird nur angezeigt, wenn die Ergebnismenge veränderlich ist. Um nun ein Tabellenfeld zu verändern, müssen Sie es mit einem Doppelklick aktivieren.

Abbildung 8: Daten verändern

Neue Datensätze fügen Sie einfach am Ende der Tabelle ein und um einen oder mehrere Datensätze zu löschen, markieren Sie die entsprechenden Zeilen und wählen anschließend im Kontextmenü ZEILEN LÖSCHEN. Vergessen Sie nur nicht, zum Schluss die Änderungen zu übernehmen. Hierfür drücken Sie den entsprechenden Button.

Natürlich ist es auch möglich INSERT-, UPDATE- und DELETE-Anweisungen auszuführen. In diesen Fällen erhalten Sie kein Result Set, sondern lediglich einen Hinweis zur Anzahl betroffener Sätze. Derartige SQL-Anweisungen können Sie mit den Buttons NEUE TRANSAKTION BEGINNEN, TRANSAKTION VOLLENDEN und TRANSAKTION ZURÜCKROLLEN auch als Transaktion ausführen, so wie Sie es mit den Anweisungen START TRANSACTION, COMMIT und ROLLBACK im iSeries-Umfeld gewohnt sind. Aber Vorsicht! Transaktionen haben nur die gewünschte Wirkung, wenn Sie mit InnoDB-Tabellen arbeiten. Handelt es sich um MyISAM-Tabellen, bekommen Sie keinerlei Rückmeldungen darüber, dass die Transaktion wirkungslos ist.

Eine besondere Funktion des MySQL Query Browsers ist die Funktion Selekt-Ergebnisse vergleichen. Dazu teilen Sie zunächst das Ergebnisfenster mit dem Kontextmenükommando TAB SENKRECHT TEILEN.

Abbildung 9: Ergebnisfenster teilen

Anschließend führen Sie für beide Bereiche eine SQL-Abfrage durch, wobei die Abfragen dieselben Spalten aufweisen müssen. Jetzt können Sie die beiden Ergebnismengen miteinander vergleichen. Dazu führen Sie den Menüpunkt ABFRAGEN|ERGEBNISMENGEN VERGLEICHEN aus:

Abbildung 10: Ergebnismengen vergleichen

Der Query Browser markiert Ergebnisse, die in beiden Result Sets vorkommen, weiß. Rot werden zusätzliche Sätze markiert und grün werden Sätze markiert, die in der zweiten Datenmenge fehlen:

Abbildung 11: Das Ergebnis

Der MySQL Query Browser verbirgt sicherlich noch eine Vielzahl weiterer nützlicher Funktionen, die Sie gewiss im Laufe der Zeit selber kennen lernen werden. Hilfreich hierbei könnte das MySQL-Handbuch sein. Auszüge dieses Handbuchs stehen Ihnen im Query Browser direkt zur Verfügung:

Abbildung 12: Die Hilfetexte

Probieren Sie es einfach mal aus! Der MySQL Query Browser ist ein wirklich stabiles und komfortables Tool, das sich einfach und teilweise intuitiv bedienen lässt.