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

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.

Ferramentas relacionadas