Convertitore gratuito

Formattatore SQL e abbellitore

Formatta, abbellisci e ripulisci istantaneamente le query SQL nel tuo browser. Nessun caricamento richiesto: completamente privato e gratuito.

Trascina e rilascia un file SQL qui

Supporta file .sql. Oppure incolla il tuo SQL nell'area sopra.

O

Informazioni su questo strumento

Le query SQL diventano rapidamente lunghe e complesse: join tra molte tabelle, sottoquery annidate, clausole WHERE di grandi dimensioni con molte condizioni, espressioni CASE complesse. L'SQL compatto stipato in poche righe è illeggibile; L'SQL correttamente rientrato con maiuscole coerenti rende la struttura della query visibile a colpo d'occhio. La formattazione è la differenza tra una query di cui è possibile eseguire il debug e una di cui non è possibile eseguire il debug.

Questo formattatore analizza SQL e genera un output rientrato e correttamente scritto. Le parole chiave SQL (SELECT, FROM, WHERE, JOIN, GROUP BY) sono generalmente in maiuscolo, i nomi di tabelle e colonne corrispondono all'origine e il rientro riflette l'annidamento (sottoquery rientrate all'interno dei relativi genitori, rami CASE rientrati). Il supporto di più dialetti gestisce le differenze MySQL, PostgreSQL, SQL Server, Oracle e SQLite.

La formattazione non è distruttiva: la query formattata è funzionalmente identica all'input. Cambiano solo gli spazi bianchi e le maiuscole.

Perché formattare SQL

Leggere SQL denso e non formattato è mentalmente faticoso. Identificare quali condizioni appartengono a quali JOIN, dove iniziano e finiscono le sottoquery e come si relazionano i rami CASE diventa più difficile quando tutto è su poche righe. L'SQL formattato è più veloce da leggere e riduce i bug derivanti da una lettura errata della struttura.

La revisione del codice offre vantaggi in particolare. I revisori possono comprendere rapidamente cosa fa una query quando viene formattata; leggere SQL non formattato durante la revisione incoraggia a saltare o a timbrare. L'SQL formattato produce anche differenze significative quando le query cambiano.

Come usarlo

Incolla query, fai clic su formato.

  1. Incolla il tuo SQL: Rilascia la query nell'area di input. L'input con istruzione singola o con più istruzioni funziona entrambi.
  2. Scegli il dialetto: L'impostazione predefinita è SQL generico. Scegli MySQL, PostgreSQL, SQL Server o Oracle per il riconoscimento delle parole chiave specifiche del dialetto.
  3. Configura le opzioni: Dimensione del rientro (tipicamente 2 o 4 spazi), maiuscole/minuscole delle parole chiave (maiuscole è la più comune, minuscole è la preferenza di alcuni team), posizionamento della virgola (finale o iniziale).
  4. Formato: L'output formattato viene visualizzato immediatamente. Copia o scarica per l'uso.

Casi d'uso comuni

Dettagli tecnici

L'analisi SQL richiede la comprensione del dialetto poiché database diversi estendono la grammatica in modi diversi. Il formattatore utilizza in genere un tokenizzatore per identificare parole chiave, identificatori, valori letterali e punteggiatura, quindi produce un output con regole per gli spazi bianchi e il rientro tra i token.

Regole di rientro: SELECT, FROM, WHERE, GROUP BY, ORDER BY ciascuno sulla propria riga. Tabelle unite su righe successive rientrate sotto FROM. Condizioni in WHERE su righe separate per la leggibilità. Sottoquery nei propri blocchi rientrati.

Convenzioni su maiuscole e minuscole: le parole chiave in maiuscolo (SELECT, FROM, WHERE) sono le più comuni. Alcune squadre preferiscono la minuscola. Gli identificatori (nomi di tabelle e colonne) preservano il caso di origine.

Migliori pratiche

Domande frequenti

La formattazione modifica il comportamento della query?
No. La formattazione SQL regola solo gli spazi bianchi, le interruzioni di riga e le maiuscole e minuscole delle parole chiave. La logica della query, il piano di esecuzione e i risultati rimangono identici. È puramente un miglioramento della leggibilità.
Quali dialetti SQL sono supportati?
Lo strumento supporta SQL standard e dialetti specifici: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) e Oracle PL/SQL. Le parole chiave e le funzioni specifiche del dialetto vengono riconosciute correttamente.
Gestisce subquery e CTE?
SÌ. Le espressioni di tabella comuni (clausole WITH), le sottoquery nidificate, le funzioni finestra e le catene JOIN complesse sono formattate con livelli di rientro appropriati.
Posso usarlo per le procedure memorizzate?
Il formattatore gestisce al meglio le singole istruzioni SQL. Procedure, trigger e funzioni con più istruzioni possono funzionare, ma la formattazione della logica procedurale complessa (IF/ELSE, loop) dipende dal dialetto.
Le parole chiave devono essere maiuscole o minuscole?
La convenzione varia. Le parole chiave maiuscole sono tradizionali e comuni. Il minuscolo sta guadagnando adozione nelle moderne guide di stile. Scegline uno e rimani coerente all'interno della base di codice.
Formatta le procedure memorizzate?
La maggior parte dei formattatori gestisce la sintassi delle procedure memorizzate (CREATE PROCEDURE, blocchi BEGIN/END, flusso di controllo). Le estensioni specifiche del dialetto potrebbero essere parzialmente supportate.
Il mio SQL è stato caricato?
No. La formattazione avviene nel tuo browser.
Posso formattare dalla riga di comando?
Diversi formattatori SQL offrono strumenti CLI (sqlfluff, sql-formatter). Usali per la formattazione batch o l'integrazione CI. I formattatori del browser sono destinati a un utilizzo una tantum ad hoc.