Zum Inhalt springen
100% lokal

SQL-Tabellen- und Spalten-Extractor

Listet alle Tabellen, Joins und Spalten auf, die eine SQL-Abfrage liest, gruppiert nach Klausel.

Eingabe
Ausgabe

SQL-Tabellen- und Spalten-Extractor

Geben Sie eine SQL SELECT-Abfrage ein und dieses Tool liest genau, was es berührt: welche Tabellen es abfragt, wie diese Tabellen verknüpft sind, und welche Spalten aus SELECT, WHERE, GROUP BY und ORDER BY stammen. Es wurde für den Moment entwickelt, in dem Sie eine Abfrage erben, einen langsamen Endpunkt oder die Migration von jemandem anderen erhalten und deren echten Umfang kennen müssen, bevor Sie etwas ändern.

Tabellen-Aliase werden automatisch aufgelöst, sodass "o.total" in einer Abfrage, die mit "FROM orders o" beginnt, gegen den echten Tabellennamen gemeldet wird, nicht gegen den Alias. Jeder JOIN wird mit seinem Typ aufgelistet – inner, left, right, full, cross oder komma-Join – zusammen mit seiner ON-Bedingung oder USING-Liste, damit die Form der Abfrage sichtbar ist. Deaktivieren Sie "WHERE / GROUP BY / ORDER BY-Spalten anzeigen", um nur das Ausgewählte zu sehen, oder deaktivieren Sie "Join-Bedingungen anzeigen", um die Join-Liste beizubehalten. Wechseln Sie die Ausgabe zwischen einer klauselweisen Übersicht und einer Abhängigkeitsliste, die besser für die Dokumentation geeignet ist.

Allgemeine Tabellenausdrücke (WITH …) und Subabfragen in der FROM-Klausel werden ebenfalls erkannt: Ein CTE wird mit den Tabellen aufgelistet, die sein eigener Körper liest, und eine abgeleitete Tabelle erscheint als Subabfrage. Wenn eine Abfrage zwei oder mehr Tabellen verbindet und eine Spalte kein Tabellenpräfix hat, kann das Tool nicht wissen, welche Tabelle sie angehört – mit "Vor Spalten ohne Tabelle warnen" aktiviert wird diese Spalte gekennzeichnet. Fügen Sie mehrere durch Semikola getrennte Anweisungen ein und jede wird nummeriert und einzeln analysiert; alles, das kein SELECT ist, wird notiert und übersprungen.

Dies ist ein Text-Pattern-Reader, keine Datenbankverbindung: Es führt SQL niemals aus, stellt niemals eine Verbindung zu einem Server her, und die Abfrage verlässt niemals Ihren Browser. Es ist sicher, Produktionsabfragen einzugeben, einschließlich solcher mit echten Tabellen- und Spaltennamen. Wenn Sie fertig sind, kopieren Sie den Report, laden Sie ihn als .txt-Datei herunter oder senden Sie ihn zur weiteren Bearbeitung an ein anderes Tool.

Häufige Fragen

Führt es das SQL aus oder validiert es?
Nein. Es liest die Abfrage als Text, um Tabellen-, Join- und Spaltenreferenzen zu finden – es führt niemals etwas gegen eine Datenbank aus, daher funktioniert es auch mit SQL, für das Sie derzeit keine Verbindung haben.
Wie weiß es, zu welcher Tabelle eine Spalte gehört?
Es erstellt eine Alias-Zuordnung aus den FROM- und JOIN-Klauseln, also "o.id" wird zu "orders" aufgelöst, wenn die Abfrage "FROM orders o" hat. Eine Spalte ohne Präfix wird der einzigen Tabelle im Gültigkeitsbereich zugewiesen oder als mehrdeutig gekennzeichnet, wenn es mehr als eine gibt.
Unterstützt es JOINs, CTEs und Subabfragen?
Ja. Jeder JOIN-Typ wird mit seiner Bedingung erkannt, eine WITH-Klausel wird als ein benannter CTE mit den Tabellen aufgeschlüsselt, die er liest, und eine Subabfrage in der FROM-Klausel wird als abgeleitete Tabelle statt als echte aufgelistet.
Kann ich mehr als eine Abfrage auf einmal einfügen?
Ja. Trennen Sie Anweisungen durch Semikola und jede wird nummeriert und unabhängig analysiert. Eine Anweisung, die keine SELECT-Abfrage ist, wird notiert, anstatt falsch gelesen zu werden.
Wird mein SQL irgendwo hochgeladen?
Nein. Die Analyse läuft vollständig in Ihrem Browser – Ihre Abfrage, einschließlich echter Tabellen- und Spaltennamen, verlässt niemals Ihr Gerät.