Sobre aquesta eina
Les consultes SQL es fan llargues i complexes ràpidament: enllaços a moltes taules, subconsultes imbricades, clàusules WHERE grans amb moltes condicions, expressions CASE complexes. L'SQL compacte amuntegat en poques línies és il·legible; SQL correctament sagnat amb majúscules coherents fa que l'estructura de la consulta sigui visible d'un cop d'ull. El format és la diferència entre una consulta que podeu depurar i una que no.
Aquest formateador analitza l'SQL i emet una sortida amb sagnat i en majúscules correctament. Les paraules clau SQL (SELECT, FROM, WHERE, JOIN, GROUP BY) solen estar en majúscules, els noms de les taules i les columnes coincideixen amb l'origen i el sagnat reflecteix l'imbricació (subconsultes sagnades dins dels seus pares, branques CASE sagnades). El suport de diversos dialectes gestiona les diferències de MySQL, PostgreSQL, SQL Server, Oracle i SQLite.
El format és no destructiu: la consulta amb format és funcionalment idèntica a l'entrada. Només canvien els espais en blanc i les majúscules.
Per què format SQL
Llegir un SQL dens sense format és un esforç mental. Identificar quines condicions pertanyen a quins JOIN, on comencen i acaben les subconsultes, i com es relacionen les branques CASE, es fa més difícil quan tot està en poques línies. L'SQL formatat és més ràpid de llegir i redueix els errors de l'estructura de lectura errònia.
Els avantatges de la revisió del codi, especialment. Els revisors poden entendre ràpidament què fa una consulta quan està formatada; llegir SQL sense format durant la revisió fomenta ometre o estampar. L'SQL formatat també produeix diferències significatives quan canvien les consultes.
Detalls tècnics
L'anàlisi SQL requereix entendre el dialecte perquè diferents bases de dades estenen la gramàtica de diferents maneres. El formatador normalment utilitza un tokenitzador per identificar paraules clau, identificadors, literals i signes de puntuació, i després produeix una sortida amb regles per a espais en blanc i sagnat entre fitxes.
Regles de sagnat: SELECT, FROM, WHERE, GROUP BY, ORDER BY cadascun a la seva pròpia línia. Taules unides a les línies posteriors sagnades a FROM. Condicions a ON en línies separades per a la llegibilitat. Subconsultes en els seus propis blocs sagnats.
Convencions de majúscules: les paraules clau en majúscules (SELECT, FROM, WHERE) són les més habituals. Alguns equips prefereixen les minúscules. Els identificadors (noms de taules i columnes) conserven majúscules i minúscules d'origen.
Preguntes freqüents
- El format canvia el comportament de la consulta?
- No. El format SQL només ajusta els espais en blanc, els salts de línia i les minúscules de les paraules clau. La lògica de consulta, el pla d'execució i els resultats segueixen sent idèntics. És purament una millora de la llegibilitat.
- Quins dialectes SQL són compatibles?
- L'eina admet SQL estàndard i dialectes específics: MySQL, PostgreSQL, SQLite, SQL Server (T-SQL) i Oracle PL/SQL. Les paraules clau i les funcions específiques del dialecte es reconeixen correctament.
- Gestiona subconsultes i CTE?
- Sí. Les expressions de taula comuns (clàusules WITH), les subconsultes imbricades, les funcions de finestra i les cadenes JOIN complexes tenen un format amb nivells de sagnat adequats.
- Puc utilitzar això per a procediments emmagatzemats?
- El formatador gestiona millor les declaracions SQL individuals. Els procediments, els activadors i les funcions de diverses declaracions poden funcionar, però el format de la lògica procedimental complexa (IF/ELSE, bucles) depèn del dialecte.
- Les paraules clau han d'anar en majúscules o en minúscules?
- La convenció varia. Les paraules clau en majúscules són tradicionals i habituals. Les minúscules estan guanyant adopció a les guies d'estil modernes. Trieu-ne un i mantingueu-vos coherents dins de la base de codi.
- Formata els procediments emmagatzemats?
- La majoria dels formatadors gestionen la sintaxi del procediment emmagatzemat (CREATE PROCEDURE, BEGIN/END blocs, control flow). Les extensions específiques del dialecte poden ser parcialment compatibles.
- S'ha carregat el meu SQL?
- No. El format es fa al vostre navegador.
- Puc formatar des de la línia d'ordres?
- Diversos formattadors SQL ofereixen eines CLI (sqlfluff, sql-formatter). Utilitzeu-los per al format per lots o per a la integració de CI. Els formatadors de navegador són per a un ús puntual ad hoc.