Formatador SQL
Embeleza SQL desorganizado com indentação consistente e maiúsculas de palavras-chave, nos principais dialetos.
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.