Datenbankfunktionen mit SQL Runner verwalten

Mit SQL Runner können Sie direkt auf Ihre Datenbank zugreifen und diesen Zugriff auf verschiedene Weise nutzen. Mit SQL Runner können Sie die Tabellen in Ihrem Schema ganz einfach aufrufen, einen Ad-hoc-Test aus einer SQL-Abfrage ausführen, vorgefertigte beschreibende Abfragen für Ihre Daten ausführen, den SQL Runner-Verlauf ansehen, Ergebnisse herunterladen, Abfragen freigeben, einem LookML-Projekt als abgeleitete Tabelle hinzufügen und andere nützliche Aufgaben ausführen.

Auf dieser Seite wird beschrieben, wie Sie Ihr Datenbankschema und Ihre Daten mit SQL Runner ändern, Ihren Ausführungsplan für eine Abfrage mit der EXAMINE-Anweisung ansehen und mit SQL Runner Informationen zu Ihrer Datenbank abrufen. Auf den folgenden Seiten finden Sie Informationen zu folgenden Themen:

Datenbankschema und -daten ändern

Über den Tab Datenbank in SQL Runner können Sie nicht nur Abfragen in Ihrer Datenbank ausführen, sondern auch DDL-Anweisungen (Data Definition Language) und Datenbearbeitungssprachen (Data Manipulation Language) in Ihrer Datenbank ausführen. Mit dem SQL Runner können Sie Schemaänderungen (z. B. Erstellen, Löschen und Ändern) und Datenänderungen (z. B. Einfügen, Aktualisieren und Löschen) vornehmen. SQL-Dialekte bieten unterschiedliche Unterstützung für DDL- und DML-Anweisungen. Informationen zu den unterstützten Anweisungen finden Sie in der Dokumentation zu Ihrer Datenbank.

Looker steuert nicht, welche SQL-Anweisungen ein Nutzer in Ihrer Datenbank ausführen darf. Looker-Nutzer mit der Berechtigung use_sql_runner erhalten Zugriff auf SQL Runner. Der SQL-Runner steuert jedoch nicht, welche Befehle der Nutzer ausführen kann. Wenn Ihr Datenbankadministrator verhindern möchte, dass SQL Runner-Nutzer das Datenbankschema ändern können, muss er dazu Nutzerberechtigungen für die Datenbank selbst konfigurieren.

So führen Sie eine DDL- oder DML-Anweisung für Ihre Datenbank in SQL Runner aus:

  1. Klicken Sie auf den Tab Datenbank.
  2. Geben Sie die Anweisung in das Feld SQL-Abfrage ein. Informationen zur Unterstützung und Syntax von DDL- und DML-Anweisungen finden Sie in der Dokumentation zu Ihrem Datenbankdialekt.
  3. Klicken Sie auf Ausführen, um die Anweisung auszuführen.
  4. Prüfen Sie im Feld Ergebnisse, ob die Anweisung erfolgreich ausgeführt wurde.

Sie können eine Folgeabfrage ausführen, um zu prüfen, ob die Anweisung erfolgreich war. Im Beispiel oben haben wir der Datenbank den Nutzer Erin Looker-Docs hinzugefügt. Wir können eine SELECT-Abfrage ausführen, um zu prüfen, ob der Nutzer korrekt hinzugefügt wurde:

Ausführungsplan mit EXPLAIN prüfen

Neben der Ausführung von SQL-Abfragen in Ihrer Datenbank können Sie mit dem SQL-Runner eine EXPLAIN-Funktion für eine Abfrage ausführen. Die Funktion EXPLAIN, die von den meisten SQL-Dialekten unterstützt wird, gibt den Ausführungsplan der Datenbank für eine Abfrage zurück.

  1. Führen Sie in einer explorativen Datenanalyse eine Abfrage aus und klicken Sie im Bereich Daten auf den Tab SQL, um den SQL-Befehl der Abfrage aufzurufen.
  2. Klicken Sie unter dem SQL-Befehl auf Explain in SQL Runner, um die Abfrage innerhalb einer EXPLAIN-Funktion in SQL Runner zu laden.
  3. Klicken Sie auf „Ausführen“, um die Funktion EXPLAIN auszuführen.
  4. Sehen Sie sich die Ausgabe der Funktion EXPLAIN an.

Die genauen Informationen und das Format der EXPLAIN-Antwort hängen von Ihrem Dialekt ab. Daher sollten Sie sich in der Dokumentation Ihres Dialekts darüber informieren.

Im obigen MySQL-Beispiel gibt die Funktion EXPLAIN eine Liste der Schritte zurück, die von der Datenbank ausgeführt wurden, um die Abfrage abzuschließen. Dies kann bei Abfragen nützlich sein, die nur langsam ausgeführt werden, da Sie möglicherweise feststellen, dass die Datenbank eine ganze Tabelle in einer Abfrage scannt. In diesem Fall könnte die Tabelle einen Index zur Leistungsverbesserung verwenden.

Ein detailliertes Beispiel für die Verwendung von EXPLAIN in SQL Runner zur Optimierung von SQL finden Sie in diesem Hilfeartikel.

Informationen zu Ihrer Datenbank abrufen

Der Tab Datenbank in SQL Runner bietet eine Reihe von Tools, mit denen Sie einen Einblick in Ihre Datenbank erhalten.

Informationen zur Datenbankverbindung abrufen

Wenn Sie eine Verbindung in SQL Runner auswählen, zeigt Looker rechts neben dem Banner SQL QUERY den Datenbankdialekt für diese Verbindung an. Wenn Sie den SQL Runner aufgerufen haben, indem Sie Open in SQL Runner oder Explain in SQL Runner ausgewählt haben, wird die passende Verbindung von Looker vorab ausgewählt und der Datenbankdialekt der Verbindung angezeigt.

Klicken Sie auf das Zahnradsymbol, um weitere Optionen für die Datenbankverbindung zu sehen.

Verwenden Sie die Option Schemas und Tabellen aktualisieren, um den linken Navigationsbereich des SQL Runners wieder mit den Schemas und Tabellen in der Datenbank zu füllen.

Verwenden Sie die Option Prozesse anzeigen, um Informationen zu Abfragen und Prozessen anzuzeigen, die derzeit auf der Verbindung ausgeführt werden:

Spezifische Menüoptionen in BigQuery

Wenn Sie eine BigQuery-Verbindung auswählen, die mehrere Datenbanken unterstützt, zeigt Looker im Zahnradmenü spezifische Optionen für den Dialekt an:

Verwenden Sie die Option Schemas und Tabellen aktualisieren, um den linken Navigationsbereich des SQL Runners wieder mit den Schemas und Tabellen in der Datenbank zu füllen.

Mit der Option Öffentliche Projekte suchen können Sie nach öffentlichen Datasets suchen, die im Informationsschema nicht sichtbar sind.

Im Zahnradmenü wird zwischen der Option Öffentliche Projekte suchen und Verfügbare Projekte anzeigen gewechselt.

Klicken Sie im Zahnradmenü auf Verfügbare Projekte anzeigen, um im linken Navigationsbereich die Anzeige auf verbindungsspezifische BigQuery-Projekte und -Tabellen zurückzusetzen:

Datenbank durchsuchen

SQL Runner zeigt unter dem ausgewählten Schema ein Suchfeld an. Die Suche durchsucht die Namen aller Tabellen und Tabellenspalten, die den String im Suchfeld enthalten. In der folgenden Abbildung ist 'airport_name' eine Spalte und 'airport_remarks' ist eine Tabelle.

Klicken Sie auf eines der Suchergebnisse, um zu diesem Element in SQL Runner zu gelangen.

BigQuery-spezifische Suchoptionen

Wenn Sie eine BigQuery-Verbindung auswählen, die mehrere Datenbanken unterstützt, müssen Sie außerdem in der Projektauswahl ein BigQuery-Projekt auswählen, damit das zugehörige Dataset und die zugehörigen Tabellen angezeigt werden:

Wenn das Projekt ausgewählt ist, können Sie ein Dataset auswählen oder nach einem Schema suchen:

Tabelleninformationen abrufen

Standardmäßig werden vom SQL-Runner alle Tabelleninformationen vorab geladen, wenn Sie eine Verbindung und ein Schema auswählen. Bei Verbindungen mit vielen oder sehr großen Tabellen kann ein Administrator dies deaktivieren, indem er die Option SQL-Runner Precache auf der Seite „Verbindungen“ deaktiviert.

Im linken Navigationsbereich von SQL Runner können Sie die Schemas und Tabellen in Ihren Verbindungen verwenden. Wählen Sie eine Verbindung und ein Schema aus, um alle Tabellen in diesem Schema zu sehen.

SQL Runner enthält einige vorgefertigte Abfragen, mit denen Sie Ihre Daten nachvollziehen können. Wenn Sie diese Abfragen verwenden möchten, klicken Sie auf das Zahnradsymbol neben dem Namen einer Tabelle oder Tabellenspalte und wählen Sie die gewünschte Abfrage aus. Looker generiert den SQL-Code im Abschnitt SQL-Abfrage automatisch und die Abfrage wird ausgeführt.

Die verfügbaren Abfragen variieren je nach Datenbankdialekt.

Tabelleninformationen

Looker zeigt die folgenden Optionen an, wenn Sie auf das Zahnradsymbol neben einem Tabellennamen klicken:

  • Verwenden Sie die Option Beschreiben, um die Spaltennamen in der zugrunde liegenden Tabelle sowie deren Datentypen aufzurufen.
  • Verwenden Sie die Option Indexe anzeigen, um Informationen darüber zu erhalten, wie die Tabelle indexiert wurde.
  • Mit der Option 10 auswählen werden die ersten zehn Zeilen der Tabelle zurückgegeben. So bekommen Sie einen Eindruck, wie die Daten tatsächlich aussehen.
  • Verwenden Sie die Option Anzahl, damit die Datenbank eine einfache count(*) ausführt, um die Gesamtzahl der Zeilen der Tabelle zu ermitteln.

Spalteninformationen

Wenn Sie auf das Zahnradsymbol neben einem Spaltennamen klicken, werden die folgenden Optionen angezeigt:

  • Verwenden Sie die Option Häufigste Werte im Zahnradmenü der Tabellenspalte, um eine Abfrage auszuführen, mit der die häufigsten Werte für diese Tabellenspalte aufgelistet werden, und wie oft dieser Wert in der Spalte gefunden wurde.
  • Verwenden Sie die Option Unterschiedliche Zählung der unterschiedlichen Werte im Zahnradmenü der Tabellenspalte, um die ungefähre Anzahl unterschiedlicher Werte in der Spalte abzurufen.

Informationen zum Spaltendatentyp abrufen

Wählen Sie eine Verbindung und ein Schema aus, um alle Tabellen in diesem Schema zu sehen. Im Beispiel unten sind thelook und das Schema demo_db ausgewählt.

  1. Wählen Sie eine Tabelle im Schema aus, um die Spalten in dieser Tabelle zu sehen.
  2. Bewegen Sie den Mauszeiger auf einen Spaltennamen, um den Datentyp in dieser Spalte zu sehen (in diesem Fall eine Ganzzahl).

Jeder Spaltenname hat außerdem ein Symbol für den Datentyp:

Vordefinierte SQL-Abfragen bearbeiten

Sie können alle SQL-Abfragen im Bereich Abfrage bearbeiten, einschließlich der voreingestellten SQL-Abfragen, die über das Zahnrad in der Tabelle und im Feld ausgewählt wurden.

Sie können beispielsweise die Abfrage Count des SQL-Runners verwenden, um einen grundlegenden Befehl zum Zählen für eine Datenbank zu laden, und dann die SQL-Abfrage bearbeiten. Wenn Sie also der Meinung sind, dass die Spalte id in der Tabelle public.users ein Primärschlüssel sein kann, können Sie prüfen, ob es doppelte Werte gibt, indem Sie die Anzahlabfrage so bearbeiten:

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

Da die Abfrage nach der Anzahl der Ergebnisse sortiert wird, bevor die Ergebnisse auf zehn Zeilen beschränkt werden, enthalten die Ergebnisse die höchsten Anzahlwerte. Wie Sie unten sehen, ist die Anzahl für jeden id-Wert 1. id ist wahrscheinlich der Primärschlüssel in dieser Tabelle. Bei dieser Abfrage wird jedoch nur die maximale Anzahl vorhandener Zeilen in der Tabelle angegeben. Achten Sie daher darauf, dass Sie den Primärschlüssel nach Möglichkeit auch auf Datenbankebene angeben.