Formatador SQL

Embeleza SQL desorganizado com indentação consistente e maiúsculas de palavras-chave, nos principais dialetos.

Palavras-chave
Indentação
Entrada
Saída

A saída aparecerá aqui

Por que formatar SQL

SQL é fácil de escrever em uma longa linha e penoso de ler assim. Uma consulta copiada dos logs de uma aplicação, de um ORM ou de um colega costuma chegar como uma string contínua com capitalização inconsistente e sem indentação. Formatar a reescreve com cada cláusula na própria linha e as expressões aninhadas indentadas, de modo que a forma da consulta — o que ela seleciona, onde une, como filtra — fica imediatamente visível. Isso facilita revisar, depurar e repassar consultas, e deixa os diffs muito mais limpos no controle de versão.

Formatar nunca muda o que uma consulta faz. Ela apenas ajusta os espaços e, opcionalmente, a capitalização das palavras-chave. As instruções que você recebe são equivalentes às que você colou.

Os dialetos e por que importam

SQL é uma família de linguagens intimamente relacionadas, mais do que uma só. Cada mecanismo de banco de dados adiciona suas próprias palavras-chave, funções e sintaxe sobre o padrão. Escolher o dialeto que corresponde ao seu banco ajuda o formatador a reconhecer essas construções específicas do mecanismo e a dispô-las corretamente. Esta ferramenta suporta:

  • Standard SQL — um bom padrão para consultas portáveis.
  • PostgreSQL — sintaxe e funções específicas do Postgres.
  • MySQL — incluindo as convenções do MySQL e do MariaDB.
  • SQL Server (T-SQL) — Microsoft SQL Server.
  • BigQuery — o Standard SQL do Google BigQuery.
  • SQLite — o banco embutido muito usado em mobile e em apps.
  • Oracle (PL/SQL) — Oracle Database.

Convenções de capitalização de palavras-chave

Uma convenção de longa data escreve as palavras-chave SQL (SELECT, FROM, WHERE, JOIN) em maiúsculas e os identificadores (nomes de tabelas e colunas) em minúsculas, para que as palavras estruturais se destaquem dos seus dados. O controle de capitalização de palavras-chave permite impor isso com um clique:

  • UPPER — palavras-chave em maiúsculas, o estilo de casa mais comum.
  • lower — palavras-chave em minúsculas, preferido por algumas equipes e guias de estilo.
  • Preserve — deixa a capitalização exatamente como você escreveu.

O controle de indentação (2 espaços, 4 espaços ou tabulação) define o quão fundo as cláusulas e subconsultas aninhadas são indentadas, para combinar com o estilo existente da sua equipe.

Dicas para um SQL legível

  • Formate antes da revisão de código: uma consulta com disposição consistente é muito mais fácil de o revisor raciocinar.
  • Escolha uma capitalização de palavras-chave e mantenha-a em toda a sua base de código para diffs consistentes.
  • Use o dialeto que corresponde à produção, para que a sintaxe específica do mecanismo não seja estragada.
  • Formatar é um passo seguro e mecânico: como nunca muda o comportamento, você pode aplicá-lo livremente a consultas que ainda não entende por completo.

Perguntas frequentes

Quais dialetos de SQL são suportados?
Standard SQL além de PostgreSQL, MySQL, SQL Server (T-SQL), BigQuery, SQLite e Oracle (PL/SQL). Escolha o que corresponde ao seu banco para que a sintaxe específica do dialeto seja formatada corretamente.
A formatação muda o que minha consulta faz?
Não. Formatar apenas ajusta os espaços e, se você escolher, a capitalização das palavras-chave. A lógica e os resultados da consulta não mudam.
Meu SQL é enviado para um servidor?
Não. A formatação roda inteiramente no seu navegador. Nada do que você cola é enviado, então é seguro formatar consultas que referenciam esquema ou dados sensíveis.
Por que ele mostra um erro em vez de formatar?
O formatador analisa seu SQL primeiro, então uma sintaxe realmente malformada — parênteses desbalanceados, instruções incompletas — não pode ser disposta e é reportada. Corrija a sintaxe e formate de novo.
Ele pode formatar várias instruções de uma vez?
Sim. Cole várias instruções separadas por ponto e vírgula e cada uma será formatada por sua vez.
Ele vai colocar em maiúsculas os nomes das minhas tabelas e colunas?
Não. A opção de capitalização de palavras-chave só afeta as palavras-chave reservadas do SQL. Seus identificadores — nomes de tabelas, colunas e aliases — ficam exatamente como você escreveu.