Formatador de SQL
Formata queries SQL com indentação automática.
O que é formatação de SQL?
SQL (Structured Query Language) é a linguagem usada para consultar e manipular bancos de dados relacionais. Queries SQL complexas, especialmente as geradas automaticamente por ORMs (Object-Relational Mappers) ou copiadas de sistemas legados, frequentemente chegam em uma única linha densa e ilegível. Formatar SQL significa organizá-lo com indentação adequada, quebras de linha nas cláusulas principais e alinhamento consistente.
Nossa ferramenta recebe qualquer query SQL — SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, stored procedures — e devolve o código organizado e legível.
Por que formatar SQL
Depuração: queries geradas por ORMs como Hibernate, SQLAlchemy ou ActiveRecord costumam ser uma linha só com centenas de caracteres. Formatar é o primeiro passo para identificar problemas de lógica, JOINs desnecessários ou subqueries problemáticas.
Code review: queries formatadas são legíveis e revisáveis. Uma query de 50 colunas em uma linha é impossível de revisar; formatada em múltiplas linhas com indentação, a revisão é natural.
Documentação: ao documentar procedures e views em wikis, READMEs ou comentários, SQL bem formatado é essencial para manutenção futura.
Aprendizado: para quem está aprendendo SQL, ver queries complexas bem formatadas facilita entender a estrutura lógica — quais são as cláusulas principais, como os JOINs se conectam, onde ficam as condições do WHERE.
Padrões de formatação SQL
Não existe um padrão único universal, mas práticas comuns incluem: palavras-chave (SELECT, FROM, WHERE, JOIN, ORDER BY) em maiúsculas; colunas e tabelas em minúsculas; cada cláusula principal em linha separada; colunas listadas uma por linha com alinhamento; parênteses em subqueries com indentação adicional. Nossa ferramenta aplica um estilo legível e consistente.
O que a formatação não conserta
Vale ser explícito: indentar uma query melhora a leitura, não o desempenho. O otimizador do banco reescreve internamente a consulta antes de executá-la, e espaços e quebras de linha são descartados no parser. Uma query lenta continua lenta depois de formatada — o que a formatação faz é tornar visível por que ela é lenta.
E é aí que ela ajuda de verdade. Com a query organizada, saltam aos olhos o JOIN sem condição que
virou produto cartesiano, a subquery correlacionada executada uma vez por linha, o
SELECT * trazendo colunas que ninguém usa, e a função aplicada sobre a coluna no WHERE
— como WHERE YEAR(data) = 2026 —, que impede o uso do índice. Formate primeiro,
depois rode o EXPLAIN.
Convenções que a maioria dos times adota
Palavras-chave em maiúsculas e identificadores em minúsculas é a convenção mais difundida, porque separa visualmente a linguagem do esquema. Cada cláusula principal começa em nova linha. Colunas do SELECT ficam uma por linha quando são muitas, o que faz o diff do controle de versão mostrar exatamente qual coluna mudou — motivo prático que costuma decidir a discussão.
Duas convenções de vírgula competem: no fim da linha (mais comum e mais legível) ou no início da linha seguinte (facilita comentar e reordenar colunas sem quebrar a sintaxe). Qualquer uma serve, desde que o time escolha uma só.
Dialetos de SQL
O núcleo da linguagem é padronizado, mas cada banco tem suas extensões: PostgreSQL usa
:: para conversão de tipo e tem sintaxe própria para JSON; MySQL usa crase para
delimitar identificadores; SQL Server usa colchetes e TOP no lugar de
LIMIT; Oracle tem o ROWNUM e a tabela DUAL. A formatação
preserva esses elementos — o objetivo é reorganizar o espaçamento, nunca reescrever a query.
Segurança: nunca cole query com dado real
Duas recomendações que valem para qualquer ferramenta online. Não cole queries que contenham dados de produção — CPFs, e-mails, senhas ou strings de conexão — em nenhum formatador na internet. E, no código, nunca monte SQL concatenando entrada de usuário: use queries parametrizadas, que são a defesa efetiva contra SQL injection. Formatador é ferramenta de leitura, não de saneamento.
Continue por aqui
- Formatador de JSON — para o payload que a query vai devolver, com validação de sintaxe.
Perguntas frequentes
Formatar a query deixa ela mais rápida?
Não. O otimizador do banco reescreve a consulta antes de executá-la e descarta espaços e quebras de linha. O que a formatação faz é tornar visível por que a query é lenta — JOIN sem condição, subquery correlacionada, SELECT * desnecessário ou função sobre coluna no WHERE.
Qual a convenção de formatação mais usada?
Palavras-chave em maiúsculas e identificadores em minúsculas, cada cláusula principal em nova linha, e colunas do SELECT uma por linha quando são muitas — o que faz o diff do controle de versão mostrar exatamente qual coluna mudou.
O formatador funciona com PostgreSQL, MySQL, SQL Server e Oracle?
Sim. O formatador reorganiza o espaçamento e preserva os elementos específicos de cada dialeto, como o :: do PostgreSQL, a crase do MySQL, os colchetes do SQL Server e o ROWNUM do Oracle. Ele nunca reescreve a query.
Posso colar uma query com dados de produção?
Não é recomendado colar queries contendo CPFs, e-mails, senhas ou strings de conexão em nenhuma ferramenta online. E, no código, nunca monte SQL concatenando entrada de usuário: use queries parametrizadas, que são a defesa efetiva contra SQL injection.