Formattatore SQL

Abbellisce SQL disordinato con indentazione coerente e maiuscole delle parole chiave, nei principali dialetti.

Parole chiave
Indentazione
Input
Output

L’output apparirà qui

Perché formattare l’SQL

L’SQL è facile da scrivere su una lunga riga e faticoso da leggere così. Una query copiata dai log di un’applicazione, da un ORM o da un collega spesso arriva come una stringa continua con maiuscole incoerenti e senza indentazione. Formattarla la riscrive con ogni clausola sulla propria riga e le espressioni annidate indentate, così la forma della query — cosa seleziona, dove unisce, come filtra — diventa immediatamente visibile. Questo facilita la revisione, il debug e il passaggio di consegne delle query, e rende molto più puliti i diff nel controllo di versione.

Formattare non cambia mai ciò che fa una query. Regola solo gli spazi e, facoltativamente, le maiuscole delle parole chiave. Le istruzioni che ottieni sono equivalenti a quelle che hai incollato.

I dialetti e perché contano

L’SQL è una famiglia di linguaggi strettamente correlati più che uno solo. Ogni motore di database aggiunge le proprie parole chiave, funzioni e sintassi sopra lo standard. Scegliere il dialetto che corrisponde al tuo database aiuta il formattatore a riconoscere quei costrutti specifici del motore e a disporli correttamente. Questo strumento supporta:

  • Standard SQL — un buon valore predefinito per query portabili.
  • PostgreSQL — sintassi e funzioni specifiche di Postgres.
  • MySQL — incluse le convenzioni di MySQL e MariaDB.
  • SQL Server (T-SQL) — Microsoft SQL Server.
  • BigQuery — lo Standard SQL di Google BigQuery.
  • SQLite — il database embedded molto usato su mobile e nelle app.
  • Oracle (PL/SQL) — Oracle Database.

Convenzioni sulle maiuscole delle parole chiave

Una convenzione di lunga data scrive le parole chiave SQL (SELECT, FROM, WHERE, JOIN) in maiuscolo e gli identificatori (nomi di tabelle e colonne) in minuscolo, così le parole strutturali risaltano rispetto ai tuoi dati. Il controllo delle maiuscole delle parole chiave ti permette di imporlo con un clic:

  • UPPER — parole chiave in maiuscolo, lo stile di casa più comune.
  • lower — parole chiave in minuscolo, preferito da alcuni team e guide di stile.
  • Preserve — lascia le maiuscole esattamente come le hai scritte.

Il controllo dell’indentazione (2 spazi, 4 spazi o tabulazione) fissa quanto vengono indentate le clausole e le sottoquery annidate, per corrispondere allo stile esistente del tuo team.

Consigli per un SQL leggibile

  • Formatta prima della revisione del codice: una query con una disposizione coerente è molto più facile da analizzare per chi revisiona.
  • Scegli una convenzione di maiuscole per le parole chiave e mantienila in tutta la tua base di codice per diff coerenti.
  • Usa il dialetto che corrisponde alla produzione, così la sintassi specifica del motore non viene rovinata.
  • Formattare è un passo sicuro e meccanico: poiché non cambia mai il comportamento, puoi applicarlo liberamente a query che non hai ancora compreso del tutto.

Domande frequenti

Quali dialetti SQL sono supportati?
Standard SQL oltre a PostgreSQL, MySQL, SQL Server (T-SQL), BigQuery, SQLite e Oracle (PL/SQL). Scegli quello che corrisponde al tuo database così la sintassi specifica del dialetto viene formattata correttamente.
La formattazione cambia ciò che fa la mia query?
No. Formattare regola solo gli spazi e, se lo scegli, le maiuscole delle parole chiave. La logica e i risultati della query non cambiano.
Il mio SQL viene inviato a un server?
No. La formattazione viene eseguita interamente nel tuo browser. Nulla di ciò che incolli viene caricato, quindi è sicuro formattare query che fanno riferimento a schemi o dati sensibili.
Perché mostra un errore invece di formattare?
Il formattatore analizza prima il tuo SQL, quindi una sintassi davvero malformata — parentesi non bilanciate, istruzioni incomplete — non può essere disposta e viene segnalata. Correggi la sintassi e formatta di nuovo.
Può formattare più istruzioni contemporaneamente?
Sì. Incolla più istruzioni separate da punto e virgola e ciascuna verrà formattata a turno.
Metterà in maiuscolo i nomi delle mie tabelle e colonne?
No. L’opzione delle maiuscole delle parole chiave riguarda solo le parole chiave riservate dell’SQL. I tuoi identificatori — nomi di tabelle, colonne e alias — restano esattamente come li hai scritti.