Przejdź do treści
100% lokalnie

Ekstraktor tabel i kolumn SQL

Lista wszystkich tabel, połączeń i kolumn, które zapytanie SQL odczytuje, pogrupowane według klauzuli.

Wejście
Wynik

Ekstraktor tabel i kolumn SQL

Wklej zapytanie SQL SELECT i to narzędzie przeczyta dokładnie to, co używa: które tabele wysyła zapytanie, jak te tabele są połączone i które kolumny pochodzą z listy SELECT, z klauzuli WHERE, z GROUP BY i z ORDER BY. Zostało stworzone na moment, gdy dziedziczysz raport zapytania, powolny endpoint lub czyjąś migrację i musisz znać jego rzeczywisty zasięg przed jego zmianą, bez wklejania do konsoli bazy danych.

Aliasy tabel są automatycznie rozdzielczane, więc "o.total" w zapytaniu, które otwiera się "FROM orders o" jest raportowana względem rzeczywistej nazwy tabeli, a nie jednoliterowego aliasu. Każde połączenie jest wymienione wraz z jego typem — wewnętrzne, lewe, prawe, pełne, krzyżowe lub stareszywne połączenie przecinkiem — wraz z jego warunkiem ON lub listą USING, dzięki czemu kształt zapytania jest widoczny na pierwszy rzut oka. Wyłącz "Pokaż kolumny WHERE / GROUP BY / ORDER BY" aby zobaczyć tylko to, co jest wybrane, lub wyłącz "Pokaż warunki połączenia" aby zachować listę połączeń, ale upuścić klauzule ON. Przełączaj wyjście między przeglądem klauzuli a płaską listą zależności lepiej nadającą się do dokumentowania, od czego zależy zapytanie.

Spólne wyrażenia tabelaryczne (WITH …) i podzapytania w klauzuli FROM są również rozpoznawane: CTE jest wymienione z tabelami, które odczytuje jego własna treść, a tabela pochodna pojawia się jako podzapytanie, a nie fikcyjna nazwa tabeli. Gdy zapytanie łączy dwie lub więcej tabel i kolumna nie ma prefiksu tabeli, narzędzie nie może wiedzieć, do której tabeli należy — z "Ostrzegaj o kolumnach bez tabeli" włączonym, ta kolumna jest oznaczona zamiast cicho domyślanej. Wklej kilka instrukcji rozdzielonych średnikami i każda jest ponumerowana i analizowana niezależnie; wszystko, co nie jest zapytaniem SELECT, jest odnotowywane i pomijane, a nie błędnie czytane.

To jest czytnik wzorców tekstowych, a nie połączenie bazy danych: nigdy nie wykonuje SQL, nigdy się nie łączy z serwerem i zapytanie nigdy nie opuszcza twojej przeglądarki. Bezpiecznie wklejaj zapytania produkcyjne, w tym te z rzeczywistymi nazwami tabel i kolumn. Gdy skończysz, skopiuj raport, pobierz go jako plik .txt lub wyślij do wejścia innego narzędzia, aby kontynuować pracę.

Częste pytania

Wykonuje lub weryfikuje SQL?
Nie. Odczytuje zapytanie jako tekst, aby znaleźć odniesienia do tabel, połączeń i kolumn — nigdy nie wykonuje nic względem bazy danych, dlatego działa nawet dla SQL, do którego aktualnie nie masz połączenia.
Skąd wie, do której tabeli należy kolumna?
Tworzy mapę aliasów z klauzul FROM i JOIN, więc "o.id" mapuje się na "orders" jeśli zapytanie zawiera "FROM orders o". Nietagowana kolumna bez prefiksu jest przypisywana do jednej tabeli w zasięgu lub oznaczana jako niejednoznaczna, gdy jest więcej niż jedna.
Obsługuje JOIN, CTE i podzapytania?
Tak. Każdy typ JOIN jest rozpoznany wraz z jego warunkiem, klauzula WITH jest podzielona jako nazwane CTE z tabelami, które odczytuje, a podzapytanie w klauzuli FROM pojawia się jako tabela pochodna, a nie rzeczywista nazwa tabeli.
Czy mogę wkleić więcej niż jedno zapytanie na raz?
Tak. Oddziel instrukcje średnikami i każda jest numerowana i analizowana niezależnie. Instrukcja, która nie jest zapytaniem SELECT, jest zaznaczana i pomijana, a nie błędnie czytana.
Czy moje SQL jest przesyłane gdziekolwiek?
Nie. Analiza odbywa się całkowicie w Twojej przeglądarce — Twoje zapytanie, w tym jakiekolwiek rzeczywiste nazwy tabel i kolumn, nigdy nie opuszcza Twojego urządzenia.