Formatta SQL
Incolla una query, scegli il tuo database e riottienila indentata con una clausola per riga.
Funziona interamente nel tuo browser
- Input
- 0
- Output
- 0
- Variazione
- 0%
Input fino a circa 10 MB. Cambia solo l'impaginazione: non esegue il tuo SQL, non lo verifica rispetto a uno schema e non lo ottimizza.
Come formattare una query SQL
- Incolla la query nella casella, oppure premi Inserisci un esempio per vedere come funziona.
- Scegli il tuo database in Dialetto, poi imposta le maiuscole delle parole chiave e la dimensione del rientro.
- La query formattata compare sotto mentre scrivi. Copiala, oppure scaricala come file
.sql.
Rendere leggibile l'SQL
Un database legge una query allo stesso modo che stia su una riga o su quaranta, ed è per questo che le query incollate da log, ORM e strumenti di monitoraggio arrivano così spesso come un'unica stringa continua. La formattazione mette ogni clausola principale (SELECT, FROM, WHERE, GROUP BY, ORDER BY) su una riga propria e indenta sotto di essa colonne, condizioni e sottoquery, così vedi la struttura della query a colpo d'occhio e noti una condizione di join mancante.
L'impaginazione segue il dialetto che scegli, perché parole e simboli cambiano da un database all'altro. Un cast PostgreSQL come price::numeric, un parametro numerato come $1, un nome MySQL tra apici inversi, una clausola Oracle CONNECT BY e un TOP 10 di SQL Server sono validi in un dialetto e un errore di sintassi in un altro. I segnaposto dei parametri associati (?, $1, :name, @name) vengono riconosciuti e lasciati intatti.
Le maiuscole delle parole chiave non hanno effetto su come viene eseguita una query, quindi sono puro stile della casa. Un formattatore che conosce la grammatica può cambiarle senza rischi, perché sa quali parole sono parole chiave e quali sono nomi di colonna o testo tra virgolette.
Consigli
- Stai confrontando una query prima e dopo una modifica? Formattale entrambe con le stesse impostazioni e confrontale in Confronta due testi.
- La query restituisce colonne JSON? Incolla un valore in Formatta e valida JSON per leggerlo.
- Devi rinominare una tabella in uno script lungo? Trova e sostituisci lo fa prima di formattare.
Domande frequenti
Il mio SQL viene caricato?
No. Il codice di formattazione è uno script servito da questo sito e caricato la prima volta che incolli una query; la query resta nel tuo browser e non viene inviata a nessun server.
Perché il dialetto è importante?
I database aggiungono una propria sintassi. PostgreSQL ha i cast :: e i parametri $1, SQL Server ha nomi [tra parentesi quadre] e TOP, MySQL e MariaDB racchiudono i nomi tra apici inversi, e BigQuery ha forme proprie per array e struct. Scegliere quello giusto permette all'analizzatore di accettare la tua query. SQL standard è la scelta sicura quando non sei certo, ma è più rigido con le estensioni dei singoli produttori.
Perché vedo un errore per una query che nel mio database funziona?
Il formattatore legge l'intera istruzione e non si limita a re-indentare le righe, quindi una parentesi o un apice non chiusi lo bloccano, così come la sintassi di un altro dialetto. Il messaggio indica la riga e la colonna in cui si è fermato, e la soluzione più comune è scegliere il dialetto corrispondente.
La formattazione cambia ciò che fa la query?
Solo gli spazi e, se lo scegli, le maiuscole delle parole chiave. Letterali stringa, nomi tra virgolette e numeri mantengono il loro testo, quindi 'select' tra apici resta minuscolo anche se scegli MAIUSCOLO.
Posso formattare più istruzioni insieme?
Sì. Le istruzioni separate da punto e virgola vengono formattate una per una, con una riga vuota tra l'una e l'altra.
Quali maiuscole devo usare per le parole chiave?
Vanno bene entrambe; è una scelta di stile e i database la ignorano. Le parole chiave maiuscole sono la convenzione più vecchia e fanno risaltare le clausole nel testo semplice. Il minuscolo è comune nei codici che usano già un linter o un output ORM in quello stile. Mantieni come scritto lascia invariate le tue maiuscole.