Hoppa till innehåll
100% lokalt

SQL-tabell- och kolumn-extractor

Visar alla tabeller, joins och kolumner som en SQL-fråga läser, grupperad per sats.

Inmatning
Utmatning

SQL-tabell- och kolumn-extractor

Klistra in en SQL SELECT-fråga och det här verktyget läser tillbaka exakt vad det berör: vilka tabeller det frågar, hur dessa tabeller är kopplade och vilka kolumner som kommer från SELECT-listan, WHERE-satsen, GROUP BY och ORDER BY. Den är byggd för det ögonblick du ärver en rapportfråga, en långsam slutpunkt eller någon annans migrering och behöver veta dess verkliga omfattning innan du ändrar något, utan att klistra in den i en databaskonsol.

Tabellaliaser löses upp automatiskt, så "o.total" i en fråga som börjar med "FROM orders o" rapporteras mot det verkliga tabellnamnet, inte mot enstavigs-aliaset. Varje JOIN listas med sin typ – inner, left, right, full, cross eller en gammalmodig kommasammanfogning – tillsammans med dess ON-villkor eller USING-lista, så frågans form är synlig på ett ögonblick. Stäng av "Visa WHERE / GROUP BY / ORDER BY-kolumner" för att bara se vad som är valt, eller stäng av "Visa join-villkor" för att behålla join-listan men släppa ON-satserna. Byt mellan en satsvis översikt och en platt beroendelist som är bättre lämpad för att dokumentera vad en fråga är beroende av.

Gemensammatabeluttryck (WITH …) och underfrågor i FROM-satsen är också igenkända: en CTE listas med de tabeller som dess egen kropp läser från, och en härledd tabell visas upp som en underfråga snarare än ett fantomtabellnamn. När en fråga sammanfogar två eller flera tabeller och en kolumn saknar tabellprefix kan verktyget inte veta vilken tabell den tillhör – med "Varna för kolumner utan tabell" på markeras den kolumnen istället för att gissas tyst. Klistra in flera satser åtskilda av semikolon och var och en numreras och analyseras separat; allt som inte är en SELECT-fråga noteras och hoppas över snarare än att missuppfattas.

Det här är en textmönsteravläsare, inte en databasanslutning: den kör aldrig SQL, ansluter aldrig till en server, och frågan lämnar aldrig din webbläsare. Det är säkert att klistra in produktionsfrågor, inklusive de med riktiga tabell- och kolumnnamn. När du är klar kopierar du rapporten, laddar ned den som en .txt-fil eller skickar den till ett annat verktygs indata för att fortsätta arbeta.

FAQ

Kör eller validerar det SQL?
Nej. Den läser frågan som text för att hitta tabell-, join- och kolumnreferenser – den kör aldrig något mot en databas, så den fungerar även med SQL som du för närvarande inte har en anslutning till.
Hur vet det vilken tabell en kolumn tillhör?
Det bygger en aliaskarta från FROM- och JOIN-satserna, så "o.id" löses upp till "orders" om frågan har "FROM orders o". En kolumn utan prefix tilldelas den enda tabellen i scope, eller markeras som tvetydig när det finns mer än en.
Stöder det JOINs, CTEs och underfrågor?
Ja. Varje JOIN-typ känns igen med sitt villkor, en WITH-sats delas upp som en namngiven CTE med tabellerna den läser från, och en underfråga i FROM-satsen listas som en härledd tabell snarare än en verklig.
Kan jag klistra in mer än en fråga på en gång?
Ja. Separera satser med semikolon och var och en numreras och analyseras separat. En sats som inte är en SELECT-fråga noteras snarare än att missuppfattas.
Laddas min SQL upp någonstans?
Nej. Parsningen körs helt i din webbläsare – din fråga, inklusive riktiga tabell- och kolumnnamn, lämnar aldrig din enhet.