Formatta query SQL con indentazione automatica, keyword uppercase e syntax highlighting. Supporta SELECT, INSERT, UPDATE, DELETE, JOIN e subquery.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.