Datenbankfunktionen mit SQL-Runner verwalten

SQL Runner bietet eine Möglichkeit, direkt auf Ihre Datenbank zuzugreifen und diesen Zugriff auf verschiedene Arten zu nutzen. Mit SQL Runner können Sie problemlos durch die Tabellen in Ihrem Schema navigieren, ein Ad-hoc-Explore aus einer SQL-Abfrage verwenden, vorgefertigte beschreibende Abfragen für Ihre Daten ausführen, Ihren SQL Runner-Verlauf anzeigen, Ergebnisse herunterladen, Abfragen freigeben, ein LookML-Projekt als abgeleitete Tabelle hinzufügen und andere nützliche Aufgaben ausführen.

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

Datenbankschema und -daten ändern

In SQL Runner können Sie auf dem Tab Datenbank nicht nur Abfragen in Ihrer Datenbank ausführen, sondern auch DDL-Anweisungen (Data Definition Language, Datendefinitionssprache) und DML-Anweisungen (Data Manipulation Language, Datenbearbeitungssprache) für Ihre Datenbank ausführen. Mit 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 unterstützen DDL- und DML-Anweisungen unterschiedlich. In der Dokumentation zu Ihrer Datenbank erfahren Sie, welche Anweisungen unterstützt werden.

Looker steuert nicht die Autorisierung, welche SQL-Anweisungen ein Benutzer in Ihrer Datenbank ausführen darf. Looker-Nutzer mit der Berechtigung use_sql_runner erhalten Zugriff auf den SQL-Runner. 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, muss er dies tun, indem er Nutzerberechtigungen für die Datenbank selbst konfiguriert.

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

  1. Rufen Sie SQL-Runner auf.
  2. Klicken Sie in SQL Runner auf den Tab Database.
  3. Geben Sie die DDL- oder DML-Anweisung in das Feld Abfrage des SQL Runners ein. Informationen zur Unterstützung und Syntax von DDL- und DML-Anweisungen finden Sie in der Dokumentation zu Ihrem Datenbankdialekt.
  4. Klicken Sie auf Ausführen, um die Anweisung für Ihre Datenbank auszuführen.

Wenn die Anweisung erfolgreich in Ihrer Datenbank ausgeführt wurde, wird im SQL-Feld Results (Ergebnisse) eine Bestätigung angezeigt.

Ausführungsplan mit EXPLAIN untersuchen

Neben der Ausführung von SQL-Abfragen für Ihre Datenbank können Sie mit 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 einem Explore eine Abfrage aus und klicken Sie im Bereich Daten auf den Tab SQL, um den SQL-Befehl der Abfrage aufzurufen.
  2. Klicken Sie im Explore auf dem Tab SQL auf die Schaltfläche Explain in SQL Runner.

    Looker öffnet SQL-Runner und lädt die Abfrage innerhalb einer EXPLAIN-Funktion.

  3. Klicken Sie in SQL Runner auf Run (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 spezifischen Dialekt ab. Einzelheiten finden Sie in der Dokumentation zu Ihrem Dialekt.

Im vorherigen MySQL-Beispiel gibt die EXPLAIN-Funktion eine Liste der Schritte zurück, die die Datenbank zum Ausführen der Abfrage ausgeführt hat. Dies kann bei Abfragen nützlich sein, die langsam ausgeführt werden, da Sie möglicherweise feststellen, dass Ihre Datenbank eine ganze Tabelle in einer Abfrage scannt, obwohl die Tabelle vielleicht einen Index verwenden könnte, um die Leistung zu verbessern.

Ein Schritt-für-Schritt-Beispiel für die Verwendung von EXPLAIN in SQL Runner zur Optimierung von SQL finden Sie im Communitybeitrag How to Optimize SQL with EXPLAIN .

Informationen über Ihre Datenbank abrufen

Auf dem Tab Database (Datenbank) in SQL Runner finden Sie eine Reihe von Tools, mit denen Sie Einblick in Ihre Datenbank erhalten.

Informationen zur Datenbankverbindung abrufen

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

Klicken Sie auf das Zahnrad-Menü für die Verbindung, um weitere Optionen für die Datenbankverbindung zu erhalten:

  • Wählen Sie die Option Prozesse anzeigen aus, um Informationen zu Abfragen und Prozessen anzuzeigen, die derzeit für die Verbindung ausgeführt werden.
  • Wählen Sie die Option Refresh Schemas & Tables (Schemas und Tabellen aktualisieren) aus, um den linken Navigationsbereich von SQL Runner wieder mit den Schemas und Tabellen in der Datenbank zu füllen.

Zahnradmenü-Optionen für BigQuery

Wenn Sie eine BigQuery-Verbindung auswählen, die mehrere Datenbanken unterstützt, werden in Looker im Zahnradmenü spezifische Optionen für Dialekte angezeigt. Je nachdem, welche Option gerade ausgewählt ist, können Sie zwischen Verfügbare Projekte anzeigen und Öffentliche Projekte suchen wechseln.

  • Wählen Sie Refresh Schemas & Tables (Schemas und Tabellen aktualisieren) aus, um den linken Navigationsbereich von SQL Runner neu mit den Schemas und Tabellen in der Datenbank zu füllen.
  • Wenn verfügbare Projekte angezeigt werden, gibt es ein Zahnradmenü mit der Option In öffentlichen Projekten suchen. Wählen Sie diese Option aus, um nach öffentlichen Datasets zu suchen, die im Informationsschema nicht sichtbar sind.
  • Wenn öffentliche Projekte angezeigt werden, gibt es ein Zahnradmenü mit der Option Verfügbare Projekte anzeigen. Wählen Sie diese Option aus, um im linken Navigationsbereich von SQL Runner wieder verbindungsspezifische BigQuery-Projekte und -Tabellen anzuzeigen.

Datenbank wird durchsucht

SQL Runner zeigt ein Suchfeld unter dem ausgewählten Schema (oder Dataset für Google BigQuery-Verbindungen) an.

Bei der SQL Runner-Suche werden die Namen aller Tabellen und Tabellenspalten durchsucht, die die Zeichenfolge im Suchfeld enthalten. In der folgenden Abbildung ist „airport_name“ eine Spalte und „airport_remarks“ eine Tabelle.

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

Tabelleninformationen abrufen

Wenn Sie eine Verbindung und ein Schema auswählen, lädt SQL Runner standardmäßig alle Tabelleninformationen vorab. Bei Verbindungen mit vielen oder sehr großen Tabellen kann ein Administrator dieses Verhalten deaktivieren, indem er die Option SQL Runner Precache auf der Seite Verbindungen deaktiviert.

Im linken Navigationsbereich von SQL Runner können Sie durch die Schemas und Tabellen in Ihren Verbindungen navigieren. Wählen Sie eine Verbindung und ein Schema aus, um alle Tabellen in diesem Schema anzusehen. Klicken Sie auf einen Tabellennamen, um die Felder in dieser Tabelle anzuzeigen.

SQL Runner bietet einige vorgefertigte Abfragen, die Ihnen helfen, Ihre Daten zu verstehen. Klicken Sie zur Verwendung dieser Abfragen auf das Zahnrad neben dem Namen einer Tabelle oder Tabellenspalte und wählen Sie die gewünschte Abfrage aus. Looker generiert den SQL-Code automatisch im Abschnitt SQL-Abfrage 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 Zahnrad neben einem Tabellennamen klicken:

  • Tabelle untersuchen: Ein neuer Browsertab wird für ein Looker-Explore der Tabelle geöffnet.
  • Beschreiben: Zeigt die Spaltennamen in der zugrunde liegenden Tabelle sowie deren Datentypen an.
  • Indexe anzeigen: Zeigt Informationen dazu an, wie die Tabelle indexiert ist.
  • Select 10 (10 auswählen): Gibt eine Abfrage der ersten zehn Zeilen in der Tabelle zurück. So bekommen Sie eine gute Vorstellung davon, wie die Daten tatsächlich aussehen.
  • Anzahl: Gibt eine einfache count(*)-Abfrage zurück, um die Gesamtzahl der Zeilen in der Tabelle zu ermitteln.

Spalteninformationen

Klicken Sie auf einen Tabellennamen, um die Spalten in der Tabelle anzuzeigen. Looker zeigt die folgenden Optionen an, wenn Sie auf das Zahnrad neben einem Spaltennamen klicken:

  • Häufigste Werte: Gibt eine Abfrage der häufigsten Werte für diese Tabellenspalte zurück, zusammen mit der Häufigkeit, mit der dieser Wert in der Spalte gefunden wurde.
  • Ungefähre Anzahl einzelner Werte: Hier wird die ungefähre Anzahl der eindeutigen Werte in der Spalte angezeigt.

Informationen zum Spaltendatentyp abrufen

Mit SQL Runner können Sie Informationen zu Spaltendatentypen abrufen, indem Sie die folgenden Schritte ausführen:

  1. Wählen Sie in SQL Runner die Datenbankverbindung aus der Drop-down-Liste Connection (Verbindung) aus.
  2. Wählen Sie das Schema aus der Drop-down-Liste Schema aus. Wählen Sie für BigQuery-Verbindungen Projekt und Dataset aus.
  3. SQL Runner zeigt die Liste der Tabellen in diesem Schema in Ihrer Datenbank an. Klicken Sie auf eine Tabelle, um die Spalten in dieser Tabelle anzuzeigen.
  4. Jeder Spaltenname hat ein Symbol, das den Datentyp darstellt. Bewegen Sie den Mauszeiger auf einen Spaltennamen, um den Datentyp in dieser Spalte zu sehen.

Vordefinierte SQL-Abfragen bearbeiten

Sie können jede SQL-Abfrage im Bereich Abfrage bearbeiten, einschließlich der voreingestellten SQL-Abfragen, die aus den Tabellen- und Zahnradmenüs der Felder ausgewählt werden.

Sie können beispielsweise mit der SQL-Runner-Abfrage Count einen einfachen Befehl zum Zählen für eine Datenbank 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 könnte, können Sie überprüfen, ob es keine doppelten Werte gibt. Bearbeiten Sie dazu die Abfrage für die Anzahl so:

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

Da die Abfrage nach der Anzahl sortiert wird, bevor die Ergebnisse auf zehn Zeilen beschränkt sind, enthalten die Ergebnisse die höchsten Werte. Wenn diese Abfrage die Anzahl 1 für jeden id-Wert zurückgibt, ist id wahrscheinlich der Primärschlüssel in dieser Tabelle. Diese Abfrage gibt jedoch nur die Zeilen in der Tabelle zur Abfragelaufzeit an. Da zukünftige Einfügungen in die Datenbank id als Primärschlüssel disqualifizieren können, empfehlen wir, Einschränkungen für Ihre Datenbank zu implementieren, damit Ihre Primärschlüssel eindeutig sind.