SQL Format
Incolla il tuo SQL nel riquadro qui sotto e usa le opzioni disponibili per formattarlo. SQL-Format è stato creato da amministratori di database secondo gli standard del settore e delle grandi aziende tecnologiche. Buon lavoro!
Che cos'è SQL Format e a chi è rivolto
SQL Format è un formattatore online gratuito che trasforma SQL compresso, scritto su una sola riga o indentato in modo incoerente, in un layout pulito e prevedibile. Ogni clausola inizia su una riga a sé, gli elenchi di colonne vengono suddivisi con un elemento per riga, i join e le relative condizioni vengono indentati sotto la tabella a cui appartengono e le query annidate vengono indentate all'interno delle loro parentesi.
È pensato per chi legge SQL tutto il giorno: sviluppatori che revisionano una pull request, DBA che sbrogliano una query lenta catturata da un log, analisti che sistemano un report prima di condividerlo e chiunque abbia ereditato un'istruzione di 300 righe scritta su una sola riga. Il layout segue convenzioni adottate da tempo dai team di database e le opzioni qui sotto ti permettono di adattarlo allo stile del tuo team.
Come usare il formattatore
- Incolla o digita il tuo SQL nell'editor. Puoi incollare più istruzioni insieme; vengono separate in corrispondenza dei punti e virgola e formattate una dopo l'altra.
- Regola le opzioni se necessario: ampiezza dell'indentazione, larghezza massima della riga, posizione delle virgole, maiuscolo o minuscolo delle parole chiave e se le parentesi di apertura vanno su una riga a sé.
- Fai clic su Formatta oppure premi Ctrl + Enter (⌘ + Enter su Mac). Il codice SQL formattato sostituisce il testo nell'editor.
- Usa Copia per copiare il risultato negli appunti oppure Cancella per ricominciare. La barra di stato mostra il numero di righe e di caratteri e la posizione del cursore.
Le opzioni di formattazione
Cinque opzioni controllano il risultato. I valori predefiniti (indentazione di 4 spazi, 120 colonne, virgole finali, parole chiave in maiuscolo, parentesi sulla stessa riga) vanno bene per la maggior parte dei team; ogni opzione ha una pagina dedicata con altri esempi.
Spazi di indentazione
Spazi di indentazione imposta quanti spazi usa ogni livello di annidamento, da 0 in su; il valore predefinito è 4. I caratteri di tabulazione nel testo inserito vengono sostituiti da altrettanti spazi, tranne che all'interno dei letterali stringa e degli identificatori tra virgolette. L'esempio qui sotto usa 2.
SELECT c.name,
SUM(o.total) AS revenue
FROM customers c
JOIN orders o
ON o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.nameApprofondisci: Opzione «Spazi di indentazione»
Numero massimo di colonne
Numero massimo di colonne è la larghezza di riga a cui punta il formattatore (predefinita: 120). Le espressioni lunghe vengono spezzate su più righe per rispettarla; 0 disattiva l'a capo automatico.
SELECT order_id,
quantity * unit_price * (1 - discount_rate) * (1 +
tax_rate) + shipping_fee - loyalty_credit AS
amount_due
FROM order_lines
WHERE order_id = 42Approfondisci: Opzione «Numero massimo di colonne»
Virgole
Virgole permette di scegliere tra virgole finali (dopo ogni elemento, l'impostazione predefinita) e virgole iniziali (all'inizio della riga successiva). Le virgole iniziali rendono facile commentare una colonna e producono diff più piccoli quando ne aggiungi una alla fine.
SELECT id
,email
,country_code
,created_at
FROM customersApprofondisci: Opzione «Virgole»
Parole chiave
Parole chiave converte le parole chiave SQL come SELECT, FROM e JOIN in maiuscolo (predefinito) o in minuscolo. I letterali stringa e i commenti restano come li hai scritti.
select id,
name
from products
where price > 100
order by nameApprofondisci: Opzione «Parole chiave»
Parentesi su nuova riga
Parentesi su nuova riga sposta la parentesi di apertura di un blocco, come una subquery dopo IN, il corpo di una CTE o un elenco suddiviso su più righe, su una riga a sé invece di lasciarla alla fine della riga precedente.
SELECT name
FROM customers
WHERE id IN
(
SELECT customer_id
FROM orders
WHERE total > 500
)Approfondisci: Opzione «Parentesi su nuova riga»
Quali dialetti SQL comprende
Il formattatore non è legato a un unico database. Lavora sull'SQL comune ai principali motori: SELECT con join, subquery e CASE, INSERT, UPDATE, DELETE, DDL comune come CREATE TABLE e CREATE VIEW, e commenti in entrambe le forme -- e /* */, che vengono preservati.
Offre un supporto aggiuntivo per PostgreSQL: cast con ::, parametri $1 e corpi tra dollari $$ … $$, il cui PL/pgSQL viene impaginato blocco per blocco. Gli identificatori tra backtick di MySQL e quelli tra parentesi quadre [bracket] di SQL Server vengono mantenuti intatti. Non c'è un selettore di dialetto, quindi le altre sintassi specifiche di un singolo database, come il separatore di batch GO di SQL Server, non ricevono un trattamento particolare. Le guide ai dialetti spiegano le differenze.
Che cosa succede al tuo SQL
Quando fai clic su Formatta, il codice SQL nell'editor viene inviato al nostro server tramite HTTPS, formattato in memoria e rimandato subito nella pagina. Non viene scritto in un database, in un file o in un log e non viene condiviso con partner di analisi o pubblicitari. In ogni caso, evita di incollare password, chiavi o dati personali reali in qualsiasi strumento online; la pagina sulla privacy contiene i dettagli.
Domande frequenti
Il mio SQL viene memorizzato da qualche parte?
No. Il codice SQL viene formattato in memoria sul server per quella singola richiesta e restituito nella risposta. Non viene salvato in un database, in un file o in un log.
La formattazione può cambiare ciò che fa la mia query?
È progettata per modificare solo spazi, a capo e maiuscolo/minuscolo delle parole chiave, mai l'ordine o la logica del tuo SQL. Come con qualsiasi strumento che riscrive codice, leggi il risultato prima di eseguirlo su un database di produzione. Nota che la scelta tra maiuscolo e minuscolo delle parole chiave si applica anche ai nomi che sono parole chiave SQL, come una colonna chiamata month.
Con quali database funziona?
Formatta l'SQL comune a PostgreSQL, MySQL, SQL Server, Oracle, Db2 e SQLite, con una gestione aggiuntiva per i cast, i parametri e i corpi PL/pgSQL di PostgreSQL. Non c'è un selettore di dialetto.
C'è un limite di dimensione?
Sì. Una singola richiesta può contenere fino a 20.000 righe di SQL.
Posso formattare più istruzioni insieme?
Sì. Separale con il punto e virgola; ogni istruzione viene formattata singolarmente e tutte mantengono il loro ordine originale.
È a pagamento o serve un account?
No. Il formattatore è gratuito e non è richiesta alcuna registrazione.
Vedi tutte le domande frequenti
Guide e riferimenti
Oltre allo strumento, queste guide trattano le convenzioni alla base di un SQL leggibile:
- Guida di stile SQL
- Come formattare query SQL complesse
- Virgole a inizio o a fine riga in SQL
- Formattare SQL per code review e controllo di versione
- Errori comuni di leggibilità in SQL
- Formattare query PostgreSQL e PL/pgSQL
- Differenze tra dialetti SQL che influenzano la formattazione
- Checklist di formattazione SQL prima del deploy di una migrazione
- Documentazione delle opzioni: cosa fa ogni impostazione, con esempi