Vai al contenuto

Formattatore SQL

SQL Formatter

Formatta l’SQL con maiuscole delle parole chiave, indentazione e posizione delle virgole configurabili, nei dialetti principali.

Dispone una query SQL perché la si possa leggere: parole chiave allineate, clausole ciascuna sulla propria riga, join indentati sotto la tabella a cui si agganciano. Conosce cinque dialetti, perché la differenza fra loro sta soprattutto in come si quotano stringhe, identificatori e commenti, e sbagliarlo è il modo in cui un formattatore rovina una query.

🔒 Funziona interamente nel tuo browsersqlformatdatabasebeautify
Dialetto

Virgolette ANSI: identificatori fra virgolette doppie, e un apice dentro una stringa scritto due volte.

Parole chiave
Indentazione
Virgole
Larghezza

SQL in ingresso

Trascina un file .sql

Letto in questa scheda. Non viene caricato niente.

Formattato

Ingresso

253 byte

Uscita

0 byte

Istruzioni

0

Token conservati

sì

Questo dispone l’SQL, non lo convalida. Una query a cui manca il FROM verrà formattata per bene e il database la rifiuterà lo stesso.

Come si usa

  1. Scegliere prima il proprio dialetto

    I backtick di MySQL, il dollar quoting di PostgreSQL, le parentesi quadre di SQL Server: ognuno cambia che cosa conta come identificatore e che cosa conta come stringa. Standard è la lettura ANSI ed è quella giusta per tutto ciò che deve essere portabile.

  2. Impostare lo stile della casa

    Maiuscole o minuscole nelle parole chiave, larghezza dell’indentazione, virgole all’inizio o alla fine, e la larghezza a cui una lista di select va a capo. Le virgole iniziali sembrano strane finché non si è fatto un git blame su una lista di colonne.

  3. Controllare «token conservati»

    Dopo ogni esecuzione l’uscita viene ritokenizzata e confrontata con l’input. Se dice di no, il formattatore ha letto male qualcosa — quasi sempre un dialetto sbagliato — e conviene usare il proprio input, non la sua uscita.

Domande frequenti

Convalida la mia query?

No. Dispone lo SQL; non conosce lo schema e non analizza il significato. Una query a cui manca la clausola `FROM` verrà formattata ordinatamente e rifiutata dal database esattamente come prima.

Perché i miei commenti `--` sono diventati `/* */`?

Solo quando si minifica. Un commento `--` arriva fino alla fine della sua riga, quindi mettere la query su una riga sola commenterebbe tutto quello che segue. La pagina conta quanti ne ha convertiti, così il cambiamento non è silenzioso.

Che cosa vuol dire qui «stringa non terminata»?

Una virgoletta che non si chiude mai, di solito perché il dialetto è sbagliato: un backtick in modalità Standard, o un blocco `$$` in modalità MySQL. Tutto quello che segue viene letto come parte di quella stringa, ed è per questo che il resto dell’uscita sembra scombinato.

Si può incollare un intero file di migrazione?

Sì: gli statement vengono divisi sui punti e virgola e ne viene mostrato il numero. La formattazione gira in un worker, quindi un file grande non blocca la pagina, anche se uno molto lungo ci mette un attimo.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.