Vai al contenuto
100% Privacy — I file restano sul tuo dispositivo
>_
Italiano

Formattatore e Validatore SQL

Formatta o minimizza l'SQL e controlla gli errori di sintassi con riga e colonna esatte — per 20 dialetti, tutto nel tuo browser.

Tutto avviene nel tuo browser: il tuo SQL non viene mai caricato su alcun server.

Opzioni
1 righe · 0 B

Trascina qui un file .sql o .txt, incolla il testo o carica un esempio. Premi Ctrl+Enter per eseguire.

Controllo della sintassi

Incolla del codice SQL per controllarne la sintassi.

«Valida» significa che la sintassi è corretta per questa grammatica. Il controllo non conosce lo schema del database, quindi non può dire se tabelle o colonne esistano né se la query verrà eseguita. Una sintassi specifica di un dialetto o molto recente può essere rifiutata anche se il tuo database la accetta.

Formatta, minimizza e controlla l'SQL nel browser

L'SQL leggibile è più facile da rivedere, correggere e confrontare. Questo strumento riscrive una query con rientri, a capo e maiuscole/minuscole coerenti, e conosce le particolarità di una ventina di dialetti, tra cui MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino e DB2. Scegli un dialetto, due o quattro spazi oppure tab, decidi se parole chiave, tipi di dato e nomi di funzione vadano in maiuscolo, in minuscolo o lasciati com'erano, e sposta le virgole a inizio riga se è lo stile del tuo team.

Il controllo della sintassi è l'altra metà dello strumento. Incolla uno script e ogni istruzione viene validata separatamente, così vedi quali passano e quali no. Un errore mostra riga e colonna, il token incriminato, qualche riga di contesto e, quando possibile, un suggerimento: una parola chiave scritta male, una virgola finale o una parentesi non chiusa. La suddivisione tiene conto di stringhe, commenti, apici inversi, parentesi quadre e corpi tra dollari di PostgreSQL, quindi un punto e virgola dentro un valore letterale non spezza mai un'istruzione a metà.

La minimizzazione fa il contrario della formattazione: comprime gli spazi e, se vuoi, elimina i commenti, restituendo una query compatta su una sola riga da usare in log, file di configurazione o incorporata nel codice. Lavora sui token e non su espressioni regolari, quindi il testo dentro stringhe e nomi tra virgolette resta esattamente com'è.

Conosci però i limiti. Un controllo verde dimostra che la sintassi corrisponde alla grammatica scelta, non che le tue tabelle esistano né che la query sia veloce o corretta. Alcuni dialetti, blocchi procedurali e le novità più recenti sono supportati solo in parte, e per qualche dialetto non esiste un controllo dedicato: in quel caso puoi scegliere tu la grammatica più vicina. Tutto avviene in locale, quindi puoi incollare in sicurezza query di produzione, e un file molto grande mette semplicemente in pausa l'anteprima in tempo reale finché non premi un pulsante.

Domande frequenti

«Valida» significa che la mia query funzionerà?

No. Il controllo verifica solo la sintassi. Non ha accesso al tuo database, quindi non può sapere se una tabella o una colonna esista, se i tipi siano compatibili o se tu abbia i permessi necessari. Usa inoltre una propria grammatica, quindi una sintassi nuovissima o specifica di un fornitore può essere rifiutata anche se il tuo database la accetta. Considera un risultato verde come «l'SQL è scritto correttamente» e uno rosso come «guarda questo punto».

Il mio SQL viene caricato da qualche parte?

No. Formattazione, minimizzazione e controllo della sintassi avvengono nel tuo browser, in un worker in background. Non viene inviato nulla a un server. La bozza facoltativa e le impostazioni restano solo nella memoria locale di questo browser.

Perché il formattatore può riuscire mentre il controllo segnala un errore?

Sono due strumenti diversi. Al formattatore basta riconoscere token e clausole, quindi è tollerante. Il controllo usa una grammatica completa del dialetto scelto ed è più rigoroso. Quando non concordano compare un avviso: il risultato viene comunque mostrato, ma la riga segnalata merita un'occhiata.

La minimizzazione cambia il comportamento della mia query?

Rimuove solo spazi e commenti. Stringhe, identificatori tra virgolette, blocchi con dollari e hint per l'ottimizzatore vengono copiati carattere per carattere, e i token adiacenti restano adiacenti. Per precauzione, non minimizzare script che dipendono dagli a capo, come i blocchi DELIMITER di MySQL.

Strumenti correlati