Formatador de SQL

Transforme um paredão de SQL em algo que dá para ler — e volte para uma linha só quando precisar.

100% privado — funciona inteiramente no seu navegador. Seus dados são processados no seu dispositivo e nunca enviados para a internet.

                        
Baixar .sql

Ele formata enquanto você digita — não há nada para apertar. Sua consulta fica nesta página, nunca se olha dentro de textos e comentários, e os identificadores mantêm exatamente as maiúsculas que você escreveu.

Sobre formatar SQL

O SQL chega como uma única linha enorme. Saído do log de um ORM, de um relatório de erro, da área de transferência de alguém. Ele roda perfeitamente e é impossível de ler, e o trecho que você procura está em algum lugar no meio.

Cole e ele volta diagramado: uma cláusula por linha, as colunas indentadas sob o SELECT, os JOIN e suas condições ON alinhados, de modo que o formato da consulta fica visível de relance.

Como usar

  • Cole seu SQL na caixa da esquerda — a versão formatada e colorida aparece à direita conforme você digita
  • Ajuste a indentação, as maiúsculas das palavras-chave e a posição das vírgulas se quiser — o resultado se atualiza na hora
  • Copie ou baixe como arquivo .sql
  • Mude para Minificar para voltar a uma linha só; esse modo continua enquanto você digita

Não há botão para apertar para formatar. Os dois únicos botões que mudam o resultado são

Formatar e Minificar, e eles escolhem qual dos dois você está vendo.

A cor vem da mesma leitura da consulta

A saída é colorida passando pelo texto pronto o mesmo tokenizador que o diagramou —

palavras-chave em ciano, textos em amarelo, números em laranja, comentários em cinza,

pontuação em rosa, e os seus nomes de tabelas e colunas deixados sem cor, para que se

destaquem do SQL em volta.

Isso importa além da aparência. Como uma única leitura da consulta produz tanto o layout

quanto a cor, os dois nunca podem discordar: o que está pintado como texto é exatamente o que

o formatador tratou como texto. Se em algum ponto faltar fechar uma aspa, a cor escorre e

mostra onde — o que costuma ser mais rápido do que achar no olho.

Copiar e Baixar entregam o texto puro, nunca a marcação colorida.

Duas coisas com que ele toma cuidado

A maioria dos formatadores rápidos de SQL trabalha com expressões regulares, e estes dois pontos são justo onde essa abordagem desmonta.

  • Nunca se olha dentro de textos e comentários. Uma consulta com WHERE note = 'from a, b' tem uma palavra-chave, uma vírgula e um espaço dentro de um literal de texto. Um formatador com regex quebra a linha ali e muda o que a consulta faz. Este aqui lê a consulta em tokens primeiro, então o interior de um literal sai exatamente como entrou — até nos espaços
  • Os identificadores mantêm as maiúsculas que você escreveu. Só as palavras-chave viram maiúsculas ou minúsculas. Num servidor que diferencia maiúsculas, userId e userid são colunas diferentes, e um formatador que os «arruma» quebrou a consulta para deixá-la mais bonita

Todos os estilos de aspas são entendidos: 'textos' com escape '', "identificadores entre aspas", crases do MySQL, [colchetes] do SQL Server e $$ aspas de cifrão $$ do PostgreSQL.

As opções

  • Indentar com — 4 espaços, 2 espaços ou uma tabulação
  • Palavras-chave — MAIÚSCULAS, minúsculas ou exatamente como você escreveu
  • Vírgulas — no fim da linha, ou no começo, se esse for o estilo da sua equipe

Minificar

Minificar devolve a consulta a uma linha só. Um espaço só fica onde tirá-lo mudaria o sentido ou criaria um token novo, então o resultado é o mais curto que dá com segurança.

Comentários de linha são descartados, porque -- assim engoliria o resto da linha assim que tudo ficasse numa linha só. Comentários de bloco são mantidos, exatamente como escritos.

Para que as pessoas usam

  • Deixar legível uma consulta tirada do log de um ORM
  • Arrumar o SQL antes de colocá-lo num pull request ou numa migração
  • Entender uma consulta longa que outra pessoa escreveu
  • Tirar uma consulta de um relatório de erro e deixá-la em forma de trabalhar
  • Fazer uma consulta caber numa linha para um arquivo de configuração ou um comando de shell
  • Padronizar o estilo de uma pasta de arquivos .sql antes de enviá-los

Bom saber

  • Sua consulta fica nesta página — nada é enviado a lugar nenhum. Útil quando ela tem nomes reais de tabelas e colunas
  • Isto diagrama SQL; não verifica se ele é válido. Uma consulta com erro de sintaxe é formatada o melhor possível, não rejeitada
  • As aspas próprias de cada dialeto são aceitas, mas isto não reescreve de um dialeto para outro
  • Consultas muito grandes não são problema — é um trabalho simples feito na sua própria máquina
  • Funciona em todos os navegadores, inclusive no celular

Ferramentas relacionadas

Adicionamos novas ferramentas com frequência — inscreva-se no YouTube para ser avisado a cada lançamento.

Mais ferramentas

Ver tudo

Aplicativos recomendados

Ver tudo