SQL-Abfragen schreiben
Die häufigste Art von innerem Tab ist der Abfrage-Tab, der die folgenden Elemente enthält. Die unten genannten Tastenkürzel sind die Voreinstellungen unter Windows/Linux; unter macOS verwenden die eigenen Tastenkürzel von OmniDB Ctrl statt Alt. Alle lassen sich unter Einstellungen > Tastenkombinationen ändern.

- 1) Tab-Header: Sie sehen den Namen des Tabs und, wenn Sie mit der Maus darüberfahren, ein Symbol zum Schließen. Während im Tab eine Abfrage läuft, wird ein Ladesymbol angezeigt; ist sie beendet, während Sie in einem anderen Tab arbeiten, erscheint ein Häkchen. Ein Rechtsklick auf den Tab und die Auswahl von Tab umbenennen lässt Sie ihn umbenennen.
- 2) Tab hinzufügen: Sie können schnell einen weiteren inneren Tab (Abfrage-Tab oder Konsolen-Tab) hinzufügen, indem Sie auf das Plus-Symbol klicken.
- 3) SQL-Editor: Voll ausgestatteter SQL-Editor mit SQL-Syntaxhervorhebung, Code-Faltung, Suchen & Ersetzen (
Ctrl-FundCtrl-H), einer vertikalen Linealinie (ihre Spalte wird unter Einstellungen > Formatierung festgelegt) und einer Autovervollständigungskomponente (siehe unten). Ein Rechtsklick in den Editor bietet Kopieren, Als Snippet speichern und Snippet verwenden (siehe Snippets). Eine vollständige Liste der Editor-Tastenkürzel (Auswahl, Multicursor, Navigation, Faltung usw.) finden Sie unter Tastenkürzel des Editors. - 4) Ausführen: Der im SQL-Editor enthaltene Text wird gegen die aktuell aktive Datenbank ausgeführt, wenn Sie auf diese Schaltfläche klicken (oder
Alt-Qdrücken). Wenn im SQL-Editor Text ausgewählt ist, wird nur der ausgewählte Text ausgeführt. Der Editor kann mehrere durch Semikolons getrennte Anweisungen enthalten; sie laufen nacheinander, und das Raster zeigt das Ergebnis der letzten. Sobald der Befehl läuft, wird eine rote Schaltfläche Abbrechen angezeigt, mit der Sie die Ausführung abbrechen können (oder drücken SieAlt-C). - 5) Anweisung an Cursorposition ausführen: Führt nur die eine Anweisung aus, in der sich der Cursor befindet, ohne dass Sie sie zuerst markieren müssen. Steht der Cursor direkt hinter einem
;, wird die folgende Anweisung ausgeführt. - 6) SQL einrücken: Diese Schaltfläche formatiert jeden SQL-Code im SQL-Editor übersichtlich (Tastenkürzel
Alt-S) und folgt dabei dem unter Einstellungen > Formatierung gewählten Stil (Einrückung, Kommastil, Groß-/Kleinschreibung von Schlüsselwörtern). - 7) Befehlsverlauf: Alle gegen die aktuelle Verbindung ausgeführten Befehle werden im Befehlsverlauf gespeichert, der durch Klicken auf diese Schaltfläche aufgerufen werden kann. Sie können ihn nach Datumsbereich und nach Text filtern, um den benötigten SQL-Befehl zu finden.
- 8) Explain (nur PostgreSQL): Führt Ihre SQL-Abfrage mit vorangestelltem
EXPLAINaus (TastenkürzelAlt-W). Die Ergebnisse werden im Explain-Tab in textueller und grafischer Form angezeigt (siehe Abfragepläne visualisieren für weitere Details). - 9) Explain Analyze (nur PostgreSQL): Wie die Explain-Schaltfläche, führt die SQL-Abfrage aber mit
EXPLAIN (ANALYZE, BUFFERS)aus, wodurch die Abfrage tatsächlich ausgeführt wird (TastenkürzelAlt-E). - 10) Autocommit (nur PostgreSQL): Wenn aktiviert, wird jede ausgeführte Abfrage in der Datenbank festgeschrieben. Wenn deaktiviert, startet OmniDB eine Transaktion, und die Oberfläche zeigt nach der Ausführung einer Abfrage Schaltflächen für Commit oder Rollback an. Der Benutzer kann die Transaktion auch offen lassen und weitere Befehle ausführen.
- 11) Backend-Status (nur PostgreSQL): Wenn Sie einen neuen Abfrage-Tab öffnen, lautet der Status Nicht verbunden, da OmniDB noch kein PostgreSQL-Backend gestartet hat. Wenn Sie die erste Abfrage ausführen, startet OmniDB ein neues Backend und hält es mit dem Abfrage-Tab verbunden (jeder Abfrage-Tab erhält sein eigenes Backend). Der Status des Backends (Inaktiv, Wird ausgeführt, Inaktiv in Transaktion usw.) wird in diesem Feld angezeigt. Wenn Sie den Abfrage-Tab schließen, beendet OmniDB das Backend.
- 12) Export-Dateityp: CSV, TSV, XLSX, JSON, XML oder Markdown.
- 13) Daten exportieren: Durch Klicken auf diese Schaltfläche führt OmniDB die aktuelle Abfrage aus und exportiert das gesamte Ergebnis in eine Datei des gewählten Typs. In der Desktop-App öffnet sich ein nativer Dialog Speichern unter, in dem Sie direkt wählen können, wo die Datei gespeichert werden soll, und OmniDB bestätigt mit Datei exportiert nach: …. Beim Betrieb als browserbasierter OmniDB Server wird die Datei stattdessen zuerst in den temporären Ordner des Servers geschrieben, und der Ergebnisbereich zeigt dann Die Datei ist bereit. mit einem Link Speichern, über den Sie sie im Browser herunterladen. CSV/TSV-Kodierung und CSV-Trennzeichen werden unter Einstellungen > Export festgelegt.
- 14) Daten-Ergebnisse: Wenn die Abfrage ein
SELECTist, wird ein Raster mit den Ergebnissen angezeigt; die erste Spalte bleibt beim horizontalen Scrollen fixiert, und wenn Sie mit der Maus über eine Spaltenüberschrift fahren, wird deren vollständiger Name angezeigt. Wenn die Abfrage ein DML oder DDL ist, wird die vom RDBMS zurückgegebene Meldung angezeigt. Gibt es mehr Zeilen als im ersten Block, lädt Mehr abrufen den nächsten Block und Alle abrufen den Rest. Ein Rechtsklick auf eine Zelle bietet Kopieren oder Inhalt anzeigen; JSON- und XML-Werte werden mit Syntaxhervorhebung angezeigt. - 15) Meldungen (nur PostgreSQL): Alle Meldungen (wie die des Befehls
RAISE NOTICE) werden hier angezeigt. - 16) Explain-Ansicht (nur PostgreSQL): Zeigt eine voll ausgestattete Komponente zur Anzeige des PostgreSQL-Ausführungsplans in textueller oder grafischer Form.
Die Trennlinie zwischen dem Editor (samt Werkzeugleiste) und den Ergebnissen lässt sich verschieben, um dem einen oder dem anderen mehr Platz zu geben.
Sicherheitsabfrage bei destruktiven Anweisungen
Bevor eine Anweisung ausgeführt wird, die mit DROP oder TRUNCATE beginnt, oder ein UPDATE/DELETE ohne WHERE-Klausel, fragt der Abfrage-Tab nach einer Bestätigung (Diese Anweisung ist destruktiv und kann nicht rückgängig gemacht werden. Trotzdem ausführen? bzw. Diese Anweisung hat keine WHERE-Klausel und betrifft ALLE Zeilen. Trotzdem ausführen?). Dies ist ein Sicherheitsnetz gegen versehentliche Fehler, kein Berechtigungssystem — geprüft wird nur der Anfang des Textes (nach Kommentaren).
Nach der Ausführung werden die Tabs auch in der OmniDB-Benutzerdatenbank gespeichert (Titel und Inhalt), sodass Sie beim nächsten Öffnen von OmniDB alle geöffnet sehen. Außerdem wird jeder Befehl, den Sie in einem Abfrage-Tab ausführen, im Befehlsverlauf dieser Verbindung gespeichert.
SQL-Autovervollständigung
Der SQL-Editor verfügt über eine Funktion, die beim Erstellen neuer Abfragen sehr hilfreich ist: die SQL-Code-Vervollständigung. Öffnen Sie die Vorschläge mit Ctrl-Space (Option-Space unter macOS). Mit dieser Funktion ist es möglich, Spalten zu vervollständigen, die in einer Tabelle enthalten sind, auf die über einen Alias verwiesen wird: Geben Sie den Alias und das Zeichen . ein und öffnen Sie dann die Autovervollständigung:

Wenn der Benutzer die Autovervollständigung nicht mit dem Cursor in der Nähe eines Tabellen-Alias startet, zeigt die Komponente mehrere Datenkategorien an. Durch Eingabe im Filter-Textfeld werden Elemente in allen Kategorien gefiltert:

Die Autovervollständigungskomponente kann auch einige kontextbezogene Informationen erkennen. Wenn Sie beispielsweise den Namen eines Schemas und dann das Zeichen . eingeben, können Sie nach Objekten filtern, die nur in diesem Schema enthalten sind:

Nach :: (einer PostgreSQL-Typumwandlung) werden nur Datentypen angeboten. Die Auswahl eines Schlüsselworts fügt auch das hinzu, was stets darauf folgt (zum Beispiel ein Leerzeichen nach SELECT oder die öffnende Klammer nach COALESCE). Welche Kategorien überhaupt angeboten werden (Schlüsselwörter, Datenbanken, Rollen, Tablespaces, Schemas, Erweiterungen, Tabellen, Ansichten, Spalten, Funktionen, Indizes), wird unter Einstellungen > Autovervollständigung festgelegt.
Bitte beachten Sie, dass die Autovervollständigung bei RDBMS außer PostgreSQL nur für Tabellenspalten funktioniert.