Cosa fa
Il formattatore SQL trasforma una query lunga scritta su una sola riga in una query leggibile e indentata in modo coerente. Ogni clausola (SELECT, FROM, WHERE, GROUP BY, ORDER BY) inizia su una riga a sé, le colonne selezionate e le condizioni sono elencate una per riga, i join si allineano sotto la tabella a cui si uniscono e le subquery sono indentate dentro le loro parentesi.
L’SQL formattato è più facile da rivedere nelle pull request, da correggere quando una query restituisce le righe sbagliate e da incollare nella documentazione. È utile anche quando copi una query dal log di un ORM o da un messaggio di errore di un’applicazione, dove tutto sta su una riga.
Come si usa
- Incolla una o più istruzioni SQL nella casella Input, trascinaci sopra un file
.sqloppure fai clic su Esempio. - Scegli il Dialetto del tuo database.
- Scegli le Parole chiave in MAIUSCOLO, minuscolo oppure lasciale come scritte. I nomi di funzione come
COUNTseguono la stessa impostazione. - Scegli 2 spazi, 4 spazi o tabulazioni per l’Indentazione.
- Copia il risultato o scaricalo come file
.sql. Scorciatoie: Ctrl/Cmd+Enter formatta, Ctrl/Cmd+Shift+C copia.
Più istruzioni separate da punto e virgola vengono tenute distinte da una riga vuota. I commenti restano dove sono.
Esempio
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id
diventa
SELECT
u.id,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
u.id
Suggerimenti
Le parole chiave in maiuscolo fanno risaltare le clausole rispetto ai nomi di tabelle e colonne, ed è la convenzione più diffusa nei team. Se il tuo team scrive SQL in minuscolo, scegli minuscolo e l’intera query si adeguerà. Se il formattatore segnala un token inatteso, controlla che il dialetto sia corretto: ad esempio, i nomi tra backtick sono validi in MySQL ma non nell’SQL standard.
Domande frequenti
› Il mio SQL viene inviato a un server?
No. Il formattatore gira nel tuo browser, quindi le query che rivelano nomi di tabelle, dati dei clienti o logica di business restano sul tuo dispositivo.
› Quali dialetti SQL sono supportati?
SQL standard, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift e Spark SQL. Scegliere il dialetto giusto aiuta con la sintassi specifica, come gli identificatori tra backtick, i cast con :: o i nomi tra parentesi quadre.
› La formattazione cambia ciò che fa la query?
No. Cambiano solo gli spazi e, se lo scegli, le maiuscole/minuscole di parole chiave e nomi di funzione. Identificatori, stringhe letterali e commenti restano esattamente come scritti.
› Perché ottengo "Unexpected end of input"?
Di solito una parentesi o un apice non è chiuso. L'errore punta alla fine della query; cerca l'ultima ( o ' aperta che non ha la sua controparte.