Vai al contenuto
TextArray
100% locale

Formattatore SQL

Formatta le query SQL con ciascuna clausola sulla propria riga, rientro coerente e parole chiave in maiuscolo.

Ingresso

Formattatore SQL

Incolla qualsiasi query SQL e rendila leggibile: SELECT, FROM, WHERE, JOIN, GROUP BY, HAVING, ORDER BY e le altre clausole principali iniziano ciascuna con la propria riga, le condizioni AND e OR continuano rientrate sotto di esse e ogni colonna nell'elenco di selezione può trovarsi sulla propria riga. Scegli due spazi, quattro spazi o tabulazioni per il rientro e scegli se le parole chiave sono in maiuscolo: la classica maiuscola SELECT/FROM/WHERE che rende la struttura visibile a colpo d'occhio.

Il formattatore è basato su un vero tokenizzatore, non su una serie di regole di ricerca e sostituzione. Stringhe letterali come 'it''s', identificatori tra virgolette in ogni stile dialettale ("colonna", \`colonna\`, [colonna]) ed entrambi gli stili di commento (-- riga e /* blocco */) passano byte per byte, quindi una parola chiave all'interno di una stringa non viene mai toccata e una virgoletta all'interno di un commento non la confonde mai. Cambiano solo gli spazi bianchi e le maiuscole e minuscole delle parole chiave: la query che ottieni significa esattamente ciò che significava la query che hai incollato.

Più istruzioni separate da punto e virgola vengono riconosciute e formattate come blocchi separati, il che rende lo strumento pratico per i file di migrazione e gli script seed, non solo per le singole query. È onesto riguardo ai suoi limiti: le sottoquery profondamente annidate rimangono sulla riga della loro clausola anziché essere rientrate, il che mantiene il risultato prevedibile per le query di cui effettivamente esegui il debug giorno per giorno.

Tutto viene eseguito localmente nel tuo browser: le query che contengono nomi di tabelle, credenziali o dati di produzione non lasciano mai il tuo computer. Copia il risultato o scaricalo come file .txt quando hai finito.

FAQ

Il formattatore cambierà mai ciò che fa la mia query?
No. Cambiano solo gli spazi bianchi e le maiuscole e minuscole delle parole chiave. Le stringhe letterali, gli identificatori tra virgolette, i commenti, i numeri e gli operatori passano esattamente come scritti, quindi la query formattata è semanticamente identica all'input.
Come vengono gestite le sottoquery nidificate complesse?
Questo è un formattatore ottimale. Le clausole di livello superiore hanno le proprie righe, ma il contenuto delle parentesi, comprese le sottoquery, rimane in linea sulla riga della clausola. Le parole chiave all'interno delle sottoquery sono ancora in maiuscolo. Per le query profondamente annidate il risultato è corretto ma non sempre perfettamente rientrato.
Quali parole chiave sono in maiuscolo?
Parole chiave delle clausole (SELECT, FROM, WHERE, varianti JOIN, GROUP BY, ORDER BY, INSERT INTO, UPDATE, DELETE FROM, CREATE TABLE e altro), operatori logici (AND, OR, NOT, IN, LIKE, BETWEEN) e tipi di colonne comuni. I nomi di funzioni come count() vengono lasciati soli e nulla all'interno delle stringhe, degli identificatori tra virgolette o dei commenti viene mai modificato.
Posso formattare più istruzioni contemporaneamente?
SÌ. Le istruzioni separate da punto e virgola di primo livello vengono formattate come blocchi separati con una riga vuota tra di loro. I punti e virgola all'interno delle stringhe letterali vengono ignorati, come dovrebbero essere.
Il mio SQL è caricato da qualche parte?
No. Lo strumento viene eseguito interamente nel tuo browser e le tue query non lasciano mai il tuo dispositivo, in tutta sicurezza anche per SQL che fa riferimento a schemi di produzione.