← 🛠️ Dev Tools
💾 Dev Tools

SQL Formatter

Formatta query SQL con indentazione automatica, keyword uppercase e syntax highlighting. Supporta SELECT, INSERT, UPDATE, DELETE, JOIN e subquery.

Stile:

Come usare il SQL Formatter

Incolla la tua query SQL nel campo di sinistra. Il formatter aggiunge automaticamente indentazione, porta le keyword in maiuscolo e separa le clausole su righe distinte. Il risultato è immediatamente più leggibile, più facile da revisionare in code review e meno soggetto a errori di parsing mentale.

Perché formattare il SQL è importante

Una query SQL scritta su una sola riga è tecnicamente valida, ma è un incubo da leggere e da manutenere. La formattazione standardizzata permette di individuare immediatamente la struttura logica — quali tabelle sono coinvolte, quali condizioni filtrano i dati, come sono raggruppati i risultati. In team, un SQL formattato consistentemente riduce il tempo di code review e rende le differenze nei commit leggibili.

Il formatter è anche utile per capire query generate automaticamente da ORM come Eloquent, Hibernate o Sequelize: queste librerie producono spesso SQL su una riga, incomprensibile senza formattazione.

Casi d'uso reali

Debug di query ORM: attiva il logging delle query nel tuo framework, copia il SQL grezzo e formattalo per capire cosa l'ORM sta generando — spesso rivela N+1 query o JOIN mancanti. Documentazione: incolla query formattate in README, wiki o ticket Jira per comunicare chiaramente la logica dei dati. Migrazione da un dialetto all'altro: formattare il SQL aiuta a individuare le costruzioni specifiche di MySQL/PostgreSQL da adattare. Code review: diff di SQL formattato mostrano esattamente cosa è cambiato, invece di una riga monolitica modificata.

Struttura di una query SQL ben formattata

Una buona formattazione allinea le keyword principali (SELECT, FROM, WHERE, GROUP BY, ORDER BY) alla stessa colonna, indenta le sottoquery di un livello, e mette ogni colonna della SELECT su una riga separata quando sono più di tre. Le subquery tra parentesi sono indentate di un ulteriore livello. Le keyword sono in MAIUSCOLO, i nomi di tabella e colonna in lowercase o snake_case secondo la convenzione del progetto.

Dialetti supportati

Il formatter supporta SQL standard ANSI e funziona correttamente con MySQL/MariaDB, PostgreSQL, SQLite e SQL Server per le operazioni più comuni. Sintassi specifiche come LIMIT/OFFSET (MySQL, PostgreSQL), TOP (SQL Server), RETURNING (PostgreSQL) vengono preservate senza modifiche.

Errori comuni nelle query SQL

I più frequenti: N+1 queries — fare una query per ogni riga del risultato invece di un singolo JOIN; SELECT * — recuperare tutte le colonne quando ne servono due, trasferendo dati inutili; mancanza di indici sui campi usati nel WHERE o JOIN; subquery correlate invece di JOIN quando la subquery si esegue per ogni riga della query esterna.

FAQ

Quali dialetti SQL supporta?

SQL standard ANSI e i principali dialetti: MySQL, MariaDB, PostgreSQL, SQLite e SQL Server per le operazioni più comuni. Sintassi proprietarie avanzate (stored procedure specifiche, hint di query) vengono preservate senza formattazione.

La query viene inviata a un server?

No. La formattazione avviene interamente nel browser con JavaScript. Nessun dato viene trasmesso a server esterni — puoi formattare anche query con dati sensibili in sicurezza.

Come formattare SQL con dati sensibili?

Usa parametri segnaposto (? o $1) invece dei valori reali nelle query da formattare o condividere. Il formatter tratta i parametri come valori qualsiasi e non li modifica. È anche buona pratica di sicurezza: le query parametrizzate prevengono SQL injection.

Posso formattare stored procedure e trigger?

Il formatter gestisce DML standard (SELECT, INSERT, UPDATE, DELETE) e DDL (CREATE TABLE, ALTER TABLE). Stored procedure e trigger con sintassi procedurale (BEGIN/END, DECLARE, IF/THEN) vengono parzialmente formattati — le keyword SQL standard vengono riconosciute, il codice procedurale non-standard viene preservato as-is.

Dal blog
Dev
Cos'è il Base64 e quando si usa
Come funziona la codifica Base64 nelle API e in HTML.
Apr 20266 min
Dev
Cos'è il JSON e come funziona
Guida completa al formato JSON con esempi pratici.
Apr 20266 min