Formattatore SQL
SQL (Structured Query Language) e il linguaggio standard per i database relazionali. Questo strumento formatta le query SQL con indentazione corretta, converte le parole chiave in maiuscolo e struttura le query complesse per la leggibilita. Supporta i dialetti SQL piu comuni.
Specifiche
Casi d'uso comuni
- Formattare SQL minificato da log o output ORM
- Rendere leggibili query complesse per la revisione del codice
- Preparare SQL per la documentazione
- Debug e comprensione di query esistenti
FunzionalitÃ
- Formattazione SQL con indentazione coerente
- Conversione delle parole chiave SQL in maiuscolo (SELECT, FROM, WHERE, ecc.)
- Formattazione di JOIN e sottoquery complesse
- Gestione delle CTE (Common Table Expression) con WITH
- Supporto per le funzioni finestra
- Supporto per 6 dialetti SQL (Standard, PostgreSQL, MySQL, MariaDB, SQLite, T-SQL)
- Estrazione dei nomi delle tabelle
- Commutazione vista minificata
- Visualizzazione del risparmio di dimensione (originale vs. minificato)
Esempi
Query complessa con JOIN
Provalo →Una query con aggregazione, join e ordinamento.
SELECT
u.id,
u.name,
COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE u.active = true
GROUP BY u.id, u.name
HAVING COUNT(o.id) > 5
ORDER BY order_count DESCSuggerimenti
- Formatta le query prima di eseguire il commit nel controllo di versione.
- Le parole chiave in maiuscolo migliorano la leggibilita ma non sono richieste da SQL.
- Le sottoquery dovrebbero essere indentate per chiarezza.
Approfondimenti Formattatore SQL
SQL (Structured Query Language) e il linguaggio standard per i database relazionali fin dagli anni '70. Fornisce una sintassi dichiarativa per interrogare, manipolare e gestire dati in sistemi di database tra cui PostgreSQL, MySQL, SQLite, SQL Server e Oracle. Sebbene ogni database aggiunga estensioni proprietarie, il linguaggio di base e notevolmente coerente.
Le istruzioni SQL si dividono in diverse categorie. Il Data Manipulation Language (DML) include SELECT, INSERT, UPDATE e DELETE per la lettura e la modifica dei dati. Il Data Definition Language (DDL) include CREATE, ALTER e DROP per la gestione degli oggetti del database. Il Data Control Language (DCL) gestisce i permessi con GRANT e REVOKE. Il SQL moderno supporta anche le Common Table Expression (CTE) con clausole WITH, funzioni finestra per l'analisi e operazioni JSON per dati semi-strutturati.
La formattazione SQL e essenziale per la leggibilita e la manutenzione. Una query complessa con join, sottoquery e aggregazioni puo diventare incomprensibile quando compressa in una singola riga — cosa comune nelle query generate da ORM, nei log delle applicazioni e negli strumenti di monitoraggio dei database. Una formattazione coerente con parole chiave in maiuscolo, indentazione corretta e clausole allineate rende le query piu facili da revisionare, debuggare e ottimizzare.
La formattazione SQL aiuta anche nell'analisi delle prestazioni. Le query ben formattate rendono piu facile identificare gli indici mancanti (vedendo quali colonne appaiono nelle condizioni WHERE e JOIN), individuare sottoquery non necessarie che potrebbero essere riscritte come join e comprendere il flusso logico di query complesse che coinvolgono CTE e funzioni finestra.
SQL non e sensibile alle maiuscole per le parole chiave, quindi SELECT e select vengono trattati identicamente dal motore del database. Le parole chiave in maiuscolo (SELECT, FROM, WHERE, JOIN) sono una convenzione ampiamente seguita che migliora la leggibilita distinguendo visivamente le parole chiave SQL dai nomi di tabelle e colonne. La maggior parte dei formattatori e delle guide di stile raccomandano le parole chiave in maiuscolo per questo motivo.
Una Common Table Expression (CTE) e un insieme di risultati temporaneo con nome, definito con la parola chiave WITH, che esiste per la durata di una singola query. Le CTE migliorano la leggibilita suddividendo query complesse in passaggi con nome, sostituendo sottoquery profondamente annidate con una struttura sequenziale dall'alto verso il basso. Le CTE ricorsive estendono questa capacita per attraversare dati gerarchici come organigrammi o commenti annidati.
La sintassi SQL di base (SELECT, JOIN, WHERE, GROUP BY) e coerente tra i dialetti dei database, ma le differenze emergono nelle funzionalita proprietarie. MySQL usa i backtick per quotare gli identificatori, PostgreSQL usa le virgolette doppie e SQL Server usa le parentesi quadre. Funzioni, tipi di dati e funzionalita avanzate come i join LATERAL, MERGE e UPSERT variano anche per dialetto. Questo formattatore gestisce la sintassi SQL standard che funziona su tutti i principali database.