DevToolPal
IT

Formattatore SQL

Formatta e rendi leggibili le query SQL per MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery e altri.

Eseguito in locale, mai caricato

Opzioni

Input

0 caratteri · 0 B

Output

0 caratteri · 0 B

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

  1. Incolla una o più istruzioni SQL nella casella Input, trascinaci sopra un file .sql oppure fai clic su Esempio.
  2. Scegli il Dialetto del tuo database.
  3. Scegli le Parole chiave in MAIUSCOLO, minuscolo oppure lasciale come scritte. I nomi di funzione come COUNT seguono la stessa impostazione.
  4. Scegli 2 spazi, 4 spazi o tabulazioni per l’Indentazione.
  5. 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.