SQL Formatter e beautifier

Incolla una query disordinata e ottieni SQL pulito e indentato in modo coerente. Supporta 17 dialetti, la scelta delle maiuscole per le keyword e un minifier con un clic, tutto nel browser.

Funziona nel browserNessuna registrazioneNessun caricamento

SQL formattato

Come usare SQL Formatter

  1. Incolla una o più istruzioni SQL nel riquadro di input oppure apri un file .sql.
  2. Scegli il dialetto del tuo database, così la sua sintassi, come i cast ::, le [parentesi quadre], i backtick o le stringhe $$, viene interpretata correttamente.
  3. Imposta le maiuscole delle keyword (UPPER, lower o invariate), l'indentazione e il numero di righe vuote tra le istruzioni.
  4. Passa a Minifica per eliminare commenti e spazi per log, ORM o parametri URL.
  5. Copia il risultato o scaricalo come file .sql.

Perché formattare l'SQL?

Le query copiate da log degli ORM, piani di esecuzione o codice applicativo arrivano di solito su un'unica lunga riga. Mettere ogni clausola (SELECT, FROM, JOIN, WHERE, GROUP BY) su una riga propria e indentare colonne e condizioni rende la logica leggibile. Rende anche più piccoli i diff nelle code review e ti aiuta a individuare una condizione di join mancante o un OR fuori posto.

Convenzioni di stile SQL

  • Keyword in maiuscolo (SELECT, WHERE) separano la sintassi SQL dai nomi di tabelle e colonne. La maggior parte delle guide di stile lo consiglia, anche se il minuscolo è diffuso nei team dbt e di analytics.
  • Una colonna per riga trasforma l'aggiunta o la rimozione di colonne in un diff di una sola riga.
  • Un'indentazione coerente (2 o 4 spazi) dentro clausole e subquery mostra l'annidamento a colpo d'occhio.
  • Terminatori di istruzione: chiudi ogni istruzione con ; così gli script con più istruzioni non sono ambigui.

Dialetti SQL supportati

SQL standard, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore e TiDB. Se il parsing di una query fallisce, prova un dialetto più specifico: @variables, parametri $1 e operatori specifici di un vendor vengono riconosciuti solo nel loro dialetto.

Cosa fa il minifier

La modalità di minificazione rimuove i commenti --, # e /* */, riduce spazi e a capo a singoli spazi ed elimina gli spazi intorno a virgole e parentesi. Stringhe letterali e identificatori tra virgolette ('…', "…", `…`, […], $$…$$) vengono copiati byte per byte, quindi il significato della query non cambia mai.

Domande frequenti

Il mio SQL viene inviato a un server?
No. La formattazione usa la libreria open source sql-formatter, che gira nel tuo browser. Le query che contengono nomi di tabelle, dati dei clienti o credenziali restano sul tuo computer.
La formattazione cambia il comportamento della query?
No. Cambiano solo spazi, a capo e (se lo scegli) le maiuscole delle keyword. Identificatori, stringhe letterali e commenti restano come sono stati scritti.
Perché ottengo un errore di parsing su SQL valido?
Probabilmente la query usa una sintassi specifica di un altro database. Seleziona il dialetto corrispondente, ad esempio PostgreSQL per i cast ::type o SQL Server per i nomi tra parentesi quadre come [bracketed] e i @params.
Posso formattare più istruzioni insieme?
Sì. Separa le istruzioni con il punto e virgola. Puoi scegliere quante righe vuote inserire tra di esse nell'output.
Le maiuscole delle keyword cambiano i nomi delle colonne?
No. Cambiano solo keyword riservate, tipi di dato e funzioni integrate. I nomi di tabelle e colonne mantengono la grafia originale.

Strumenti correlati