Formatador SQL
Formate e embeleze SQL com indentação correta, ou minifique para uma linha. Reconhece dialetos (ANSI / MySQL / Postgres).
Digite uma entrada acima para ver o resultado.
Para que serve?
SQL vai do one-liner que você digitou no psql até a query analítica de 200 linhas que ninguém consegue ler até estar indentada direito. Este formatador pega qualquer SELECT, INSERT, UPDATE ou DDL e reescreve com indentação consistente, quebras de linha antes de cada cláusula e case uniforme das keywords. O modo minify faz o oposto — espreme tudo numa linha só para embutir em código ou scripts. Tudo roda no navegador; queries nunca saem da página.
Quando usar
- Reformatar uma query que você copiou de um log, ORM ou mensagem de chat para algo revisável e diff-ável.
- Normalizar convenções da equipe (keywords em UPPERCASE, indent de 2 espaços) antes de commitar um script de migration.
- Comprimir uma query longa pretty-printed numa linha só para caber em um config YAML ou argumento de CLI.
- Detectar problemas estruturais — parênteses desbalanceados, vírgula faltando na lista do SELECT ou um JOIN sem ON — que ficam óbvios quando a query está indentada.
Pegadinhas comuns
- O formatador é estrutural, não semântico. Ele não vai te dizer se a query é SQL correto, só como indentar os tokens que vê. Um erro de sintaxe na entrada vira erro de sintaxe na saída.
- Keywords específicas de dialeto variam.
ILIKE,RETURNING,LATERALsão Postgres;STRAIGHT_JOIN,SQL_CALC_FOUND_ROWSsão MySQL. Escolha o dialeto certo ou essas palavras não serão reconhecidas como keywords. - String literals são preservados literalmente. Uma string multi-linha entre aspas simples mantém suas quebras; o formatador não reflua texto dentro de
'...'. - Comentários sobrevivem mas ficam isolados em linhas próprias. Se você tinha um
-- comentário inlineno meio da linha, ele vai para a própria linha durante o pretty-print. - Minify remove comentários. Se você precisa deles, não minifique.
- Não é um linter. Use um parser SQL de verdade (ex.:
sqlfluff) para validação, enforcement de estilo e checagem de dialeto no CI.