Abfragen ausführen

Abfragekonsole

Unserer Erfahrung nach ist die Abfragekonsole die beste Stelle, um gewöhnliches SQL für den Alltag zu schreiben. Jede Datenquelle hat eine eigene Standardkonsole. Zum Öffnen der Konsole klicken Sie im Kontextmenü auf Open Console. Oder verwenden Sie das Tastenkürzel F4.

Sie können SQL hier schreiben, dann ausführen und das Ergebnis erhalten! So einfach ist das.

Wenn Sie aus irgendeinem Grund eine andere Konsole für eine Datenquelle erstellen möchten, ist dies auch möglich: Kontextmenü → New → Console

Schemawechsler

Erstellen Sie mehrere Konsolen, um viele Abfragen zugleich zu verwalten. Jede Konsole hat einen Datenbank-/Schemawechsler. Wenn Sie mit PostgreSQL arbeiten, definieren Sie den Suchpfad hier.

Auswahl ausführen

Wählen Sie etwas vom Code aus und führen Sie nur diese Auswahl aus. Beachten Sie, dass die ausgewählte Abfrage wie folgt ausgeführt wird: DataGrip übermittelt nur diesen String an die Datenbank und erhält das Ergebnis. Dies kann hilfreich sein, wenn die IDE irrtümlicherweise Fehler in Abfragen erkennt.

Ausführungsoptionen

DataGrip bietet intelligente Optionen für das Ausführen von Abfragen ein. Wenn der Cursor innerhalb einer Abfrage ist, dann kann die Ausführung mit mehreren verfügbaren möglichen Optionen angepasst werden. Definieren Sie das beabsichtigte Verhalten: Führen Sie die kleinste Anweisung oder die größte Anweisung aus, lassen Sie sich fragen, was Sie ausführen wollen oder führen Sie das gesamte Skript aus.

 

Außerdem gibt es Execute-Aktionen. Ändern Sie das Verhalten und weisen Sie Tastenkombinationen zu. Diese sind vollkommen unabhängig. Beispielsweise können Sie eine Aktion erstellen, die das gesamte Skript ausführt, ohne die genaue Abfrage aus dem Skript auswählen zu müssen.

So funktioniert es.

Schreibgeschützter Modus

Read-Only kann in den Eigenschaften der Datenquelle aktiviert werden. In Wirklichkeit aktiviert es zwei schreibgeschützte Modi zur gleichen Zeit: den schreibgeschützten Modus in dem entsprechenden JDBC-Treiber und der schreibgeschützte Modus auf IDE-Ebene.

Der schreibgeschützte JDBC-Treiber Modus untersagt das Ausführen von Modifikationsabfragen in MySQL, PostgreSQL, AWS Redshift, H2undDerby. In anderen DBMS spielt er keine Rolle.

Deshalb haben wir einen schreibgeschützten Modus auf IDE-Ebene. Der wird zusammen mit dem auf JDBC-Ebene aktiviert. Deshalb wird im schreibgeschützten Modus jede DDL- oder DML-Abfrage unterstrichen. Wenn Sie sie ausführen, wird eine Warnung ausgegeben. Es ist möglich, in dieser Leiste Execute zu drücken, wenn Sie sich Ihrer Aktion absolut sicher sind.

Wir indizieren jetzt auch den Quellcode der Funktionen und Prozeduren und bauen eine Aufrufstruktur im Hintergrund auf. Das bedeutet, dass wenn eine Funktion eine andere Funktion ausführt (wiederhole n-Mal), die DDL- oder DML-Anweisungen ausführt, dann werden Sie eine Warnung sehen.

Transaktionsverwaltung

Definieren Sie, was für eine Transaktionsverwaltung Sie verwenden wollen, wenn Sie mit einer bestimmten Datenquelle arbeiten. Diese Option ist in den Eigenschaften der Datenquelle verfügbar. Im Modus Auto brauchen Sie keine Transaktionen durchzuführen, die eine Commit-Anweisung ausführen. Im Modus Manual müssen Sie dies allerdings tun.

Ausdruck auswerten

Dies hilft Ihnen, Daten anzusehen, ohne eine Abfrage in die Konsole zu schreiben. Bei anderen auf IntelliJ basierten IDEs erhalten Sie eine schnelle Auswertung, wenn Sie auf einem Objekt Strg+Alt+F8 drücken. In DataGrip rufen Sie diese in einer Abfrage auf eine Tabelle aus, um die Daten dieser Tabelle anzusehen. Drücken Sie auf einem Spaltennamen Strg+Alt+F8 und die Werte dieser Spalte werden in dem erwarteten Ergebnissatz angezeigt. Wenn Sie die gleiche schnelle Auswertung auf dem Schlüssewort einer Abfrage (oder Unterabfrage) aufrufen, dann wird das Popup das Ergebnis anzeigen. Beachten Sie, dass Alt+Klicken ebenfalls funktioniert.

Verlauf ausgeführter Abfragen

Auf der Symbolleiste jeder Konsole ist eine Schaltfläche: . Drücke Sie diese, um sich den Verlauf aller Abfragen anzusehen, die auf dieser Datenquelle ausgeführt wurden. Schnellsuche funktioniert ebenfalls!

Vergessen Sie auch nicht den lokalen Verlauf jeder Datei.

Vollständiges SQL-Protokoll

Alle Abfragen von der IDE werden in einer Textdatei protokolliert. Um diese Datei zu öffnen, gehen Sie auf Help | Show SQL log.

Gespeicherte Prozeduren ausführen

DataGrip kann den Code für das Ausführen gespeicherter Prozeduren erzeugen. Geben Sie die Werte der Parameter ein, die Sie benötigen und klicken Sie auf OK.

Beachten Sie, dass Sie die Prozedur ausführen können, indem Sie in der Symbolleiste auf die Schaltfläche Run drücken, wenn Sie den Quellcode öffnen. Oder verwenden sie einfach Execute… aus dem Kontextmenü der Prozedur in der Datenbankstruktur.

Unsichere Abfragen

DataGrip wird einen Warnhinweis anzeigen, wenn Sie die Anweisungen DELETE oder UPDATE ohne eine WHERE-Klausel verwenden.

Explain-Plan

Ein Ausführungsplan für Anweisungen stellt visuell die Vorgänge dar, die die Datenbank durchführt, um die von Ihrer Abfrage erforderlichen Daten zurückzugeben. Er hilft Ihnen bei der Optimierung der Abfrage.

 

Graphisch kann der Plan als eine Tabelle oder als ein Diagramm dargestellt werden.

Benutzerparameter

Wenn Sie eine SQL-Abfrage von einer anderen Anwendung erhalten, dann kann diese parametrisiert werden. DataGrip unterstützt die Ausführung dieser Art von Abfragen.

Die Benutzeroberfläche für das Bearbeiten von Parametermustern ist unter Settings/Preferences → Database → User Parameters verfügbar. Reguläre Ausdrücke werden hervorgehoben und Sie können den Dialekt auswählen, für den diese Muster gültig sind.

Strukturansicht

Sie haben für jede Konsole oder SQL-Datei ein Popup, in dem alle Anweisungen als Struktur eingetragen sind. Sie können Abfragen einfach von diesem Struktur-Popup (Strg+F12) aus starten, was nützlich ist, wenn Sie mehrere davon in einem großen Skript ausführen.

Abfrageergebnis

Ergebnissatz

In DataGrip ist der Ergebnissatz veränderbar, so dass Sie Daten ändern können, die zurückgegeben werden, nachdem Sie eine Abfrage ausgeführt haben. Es stehen Ihnen die gleichen Optionen wie beim Dateneditor zur Verfügung, einschließlich automatischer Commits, Hinzufügen/Löschen von Datensätzen, Textsuche und Datennavigation.

Ergebnisse vergleichen

Zwei Ergebnissätze können mit der Diff-Ansicht verglichen werden. DataGrip hebt die Unterschiede hervor und lässt Sie die Vergleichskriterien per Toleranz-Parameter vergleichen. Wenn Sie beispielsweise zwei Zeilen als gleich erachten wollen, sofern sich deren Daten in nur einer einzigen Spalte unterscheiden, dann geben Sie den entsprechenden Wert in das Feld Tolerance ein. Jede Spalte kann gegebenenfalls von dem Vergleich ausgenommen werden.

Klicken Sie in der Symbolleiste des Ergebnisses auf die Schaltfläche Compare und wählen Sie aus, mit welchem anderen Ergebnissatz es verglichen werden soll.

Die Ergebnis-Registerkarte kann benannt werden

Benannte Registerkarten sind eine praktische Funktion, um Ergebnisse auseinanderzuhalten. Verwenden Sie dafür einfach den Kommentar vor der Abfrage.

Wenn nur bestimmte Kommentare als Namen für Registerkarten verwendet werden sollen, verwenden Sie in den Einstellungen das Feld Treat text as title after [Text als Titel behandeln nach], um das Präfixwort anzugeben. Dann werden nur die Wörter, die nach diesem Wort kommen, als Titel verwendet.

Die Seitengröße ist leicht zu ändern

Wie viele Zeilen aus der Datenbank abgerufen werden sollen, können Sie in der Symbolleiste des Ergebnissatzes festlegen.