Vai al contenuto
SPCXTools

Formattatore SQL

Trasforma query SQL lunghe e disordinate in codice pulito, leggibile e ben indentato.

Funziona localmente: i file non lasciano mai il tuo dispositivo

Caricamento strumento…

Come usare Formattatore SQL

  1. 1Incolla la tua query SQL nel riquadro di Input, oppure clicca su Esempio per provarne uno.
  2. 2Scegli il dialetto SQL in modo che venga riconosciuta la sintassi specifica del database.
  3. 3Scegli come visualizzare le parole chiave — MAIUSCOLO, minuscolo o come scritte — e l'indentazione.
  4. 4Copia la query formattata o scaricala come file .sql.

Rendi leggibile il codice SQL

Le query copiate dai log, generate da un ORM o scritte di fretta spesso diventano un'unica lunga riga, difficile da leggere e ancora più difficile da debuggare. Questo formattatore SQL scompone la tua query in clausole chiare — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY —, inserisce ogni colonna e condizione su una riga separata e indenta le subquery e le espressioni CASE in modo coerente. Il risultato è più facile da revisionare, da confrontare nei sistemi di controllo di versione e da condividere con i colleghi.

Funzionalità

  • 12 dialetti SQL, dall'SQL standard a MySQL, PostgreSQL, SQL Server, Oracle, BigQuery e Snowflake.
  • Maiuscole/minuscole per le parole chiave: MAIUSCOLO, minuscolo o esattamente come scritte; si applica a parole chiave, tipi di dati e funzioni.
  • Indentazione con 2 spazi, 4 spazi o tabulazioni.
  • Istruzioni multiple separate da punto e virgola.
  • Mantenimento dei commenti — sia i commenti di riga -- che quelli di blocco /* */.
  • Copia o scarica il risultato come file .sql.
  • Privato: il formattatore viene eseguito localmente nel tuo browser.

Prima e dopo

Una query come questa:

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;

diventa:

SELECT
  u.id,
  u.name,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.status = 'active'
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC;

Consigli di stile per SQL

  • Una clausola per riga. Iniziare ogni clausola principale su una nuova riga rende la struttura della query visibile a colpo d'occhio.
  • Usa alias significativi. Alias brevi come u e o vanno bene per query piccole, ma quelli descrittivi aiutano nei report lunghi.
  • Qualifica i nomi delle colonne nelle join (orders.user_id invece di user_id) per evitare ambiguità.
  • Mantieni una formattazione coerente in tutto il progetto, così i diff mostrano le modifiche reali e non gli spazi vuoti.

Strumenti correlati

Lavori con i risultati delle query? Converti i dati esportati con il convertitore da CSV a JSON, formatta le risposte delle API con il JSON Formatter, oppure confronta due versioni di una query con il Diff Checker.

Domande frequenti

Quali dialetti SQL sono supportati?
SQL Standard, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL e IBM Db2. Scegliere il dialetto giusto è importante per la sintassi specifica del database, come gli identificatori con backtick, le parentesi quadre, le stringhe delimitate da dollari o gli operatori speciali.
La formattazione modifica il funzionamento della mia query?
No. Il formattatore modifica solo gli spazi bianchi, le interruzioni di riga e, se lo desideri, il maiuscolo/minuscolo delle parole chiave, dei tipi di dati e dei nomi delle funzioni. I nomi di tabelle e colonne, le stringhe e i commenti rimangono esattamente come sono.
Perché ricevo un errore?
Il formattatore deve comprendere la struttura della tua query. Gli errori di solito indicano un errore di battitura, virgolette o parentesi non chiuse, oppure una sintassi di un database diverso: prova a selezionare un altro dialetto. Anche i segnaposto di template come {{ name }} possono confondere il parser.
Posso formattare più istruzioni contemporaneamente?
Sì. Separa le istruzioni con un punto e virgola e ognuna verrà formattata, con una riga vuota tra l'una e l'altra.
Il mio SQL viene inviato a un server?
No. La formattazione avviene interamente nel tuo browser, quindi puoi formattare in modo sicuro query che contengono nomi di tabelle interne o dati di esempio.
Le parole chiave SQL dovrebbero essere in maiuscolo?
L'SQL non fa distinzione tra maiuscole e minuscole per le parole chiave, quindi è una questione di stile. Le parole chiave in maiuscolo (SELECT, FROM, WHERE) sono la convenzione tradizionale perché risaltano rispetto ai nomi di tabelle e colonne, mentre molti team moderni preferiscono il minuscolo. Scegline uno e usalo in modo coerente.