Vai al contenuto
100% locale

Estrattore di tabelle e colonne SQL

Elenca tutte le tabelle, i join e le colonne che una query SQL legge, raggruppate per clausola.

Ingresso
Uscita

Estrattore di tabelle e colonne SQL

Incolla una query SQL SELECT e questo strumento estrae esattamente ciò che analizza: quali tabelle interroga, come quelle tabelle sono unite, e quali colonne provengono dalla lista SELECT, dalla clausola WHERE, da GROUP BY e da ORDER BY. È costruito per il momento in cui ereditere una query di rapporto, un endpoint lento, o la migrazione di qualcun altro e avrai bisogno di conoscerne l'impatto prima di cambiare qualsiasi cosa.

Gli alias di tabella sono risolti automaticamente, quindi « o.total » in una query che inizia con « FROM orders o » è riportato contro il nome reale della tabella. Ogni JOIN è elencato con il suo tipo — inner, left, right, full, cross o un vecchio join con virgola — insieme alla sua condizione ON o lista USING, così la forma della query è visibile. Disattiva « Mostra colonne WHERE / GROUP BY / ORDER BY » per vedere solo ciò che è selezionato, o disattiva « Mostra condizioni join » per mantenere l'elenco JOIN. Alterna tra una panoramica per clausola e un elenco di dipendenze piatto più adatto a documentare su cosa una query si basa.

Le espressioni di tabella comune (WITH …) e le sottoquery nella clausola FROM sono riconosciute: una CTE è elencata con le tabelle che il suo corpo interroga, e una tabella derivata compare come una sottoquery. Quando una query unisce due o più tabelle e una colonna non ha un prefisso di tabella, lo strumento non può sapere a quale tabella appartiene — con « Avvisa colonne senza tabella » attivato, quella colonna è contrassegnata. Incolla più istruzioni separate da punti e virgola e ciascuna è numerata e analizzata indipendentemente ; qualsiasi cosa che non sia una query SELECT è annotata e saltata.

Questo è un lettore di motivi di testo, non una connessione di database : non esegue mai SQL, non si connette mai a un server, e la query non lascia mai il tuo browser. È sicuro incollare query di produzione, comprese quelle con nomi reali di tabella e colonna. Quando hai finito, copia il rapporto, scaricalo come file .txt, o invialo a un altro strumento per continuare a lavorare.

FAQ

Esegue o convalida l'SQL?
No. Legge la query come testo per trovare riferimenti a tabella, join e colonna — non esegue mai nulla rispetto a un database, quindi funziona anche per SQL a cui attualmente non hai una connessione.
Come sa a quale tabella appartiene una colonna?
Costruisce una mappa alias dalle clausole FROM e JOIN, quindi "o.id" si risolve a "orders" se la query ha "FROM orders o". Una colonna senza prefisso viene assegnata all'unica tabella in ambito, o contrassegnata come ambigua quando ce ne è più di una.
Supporta JOIN, CTE e sottoquery?
Sì. Ogni tipo di JOIN è riconosciuto con la sua condizione, una clausola WITH è separata come un CTE denominato con le tabelle che legge, e una sottoquery nella clausola FROM è elencata come una tabella derivata piuttosto che una vera.
Posso incollare più di una query alla volta?
Sì. Separa le query con punti e virgola e ognuna viene numerata e analizzata indipendentemente. Una query che non è SELECT viene notata piuttosto che mal interpretata.
Il mio SQL viene caricato da qualche parte?
No. L'analisi viene eseguita interamente nel tuo browser — la tua query, inclusi i nomi reali di tabella e colonna, non lascia mai il tuo dispositivo.