O que é SQL?
SQL (Structured Query Language) é uma linguagem padrão para gerenciar bancos de dados relacionais. É usada para criar, modificar, consultar e excluir dados em bancos de dados como MySQL, PostgreSQL, Oracle, SQL Server e muitos outros.
Por que formatar SQL?
1. Legibilidade: Queries SQL bem formatadas são muito mais fáceis de ler e entender, especialmente em queries complexas com múltiplos JOINs e subqueries.
2. Debugging: Identificar erros de sintaxe e problemas lógicos é significativamente mais simples quando o código está bem formatado e organizado.
3. Manutenção: Outros desenvolvedores (ou você mesmo no futuro) podem entender e modificar queries formatadas com muito menos esforço.
4. Code Review: Queries formatadas permitem revisões mais eficientes, facilitando a identificação de problemas de performance e bugs.
5. Documentação: Queries bem estruturadas servem como documentação autoexplicativa da lógica de negócio implementada.
Como usar o Formatador de SQL
- Cole sua query SQL na área de entrada à esquerda (ou clique em "Exemplo" para ver uma query de demonstração)
- Escolha a ação:
- Formatar: organiza a query com indentação e quebras de linha
- Minificar: remove espaços desnecessários para compactar a query
- Configure as opções: ative "Palavras-chave em maiúsculas" para padronizar SELECT, FROM, WHERE, etc.
- Ajuste a indentação (2, 4 ou 8 espaços) conforme o padrão do seu projeto
- Copie o resultado usando o botão "Copiar" no canto superior direito da saída
Palavras-chave SQL formatadas
| Categoria | Palavras-chave |
|---|---|
| Consultas | SELECT, FROM, WHERE, AND, OR, NOT, IN, IS NULL, EXISTS, BETWEEN, LIKE |
| Joins | JOIN, LEFT JOIN, RIGHT JOIN, INNER JOIN, OUTER JOIN, FULL JOIN, CROSS JOIN, ON |
| Ordenação e Agrupamento | ORDER BY, GROUP BY, HAVING, ASC, DESC |
| Limitação | LIMIT, OFFSET |
| Modificação | INSERT INTO, VALUES, UPDATE, SET, DELETE |
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, TRUNCATE |
| Funções de Agregação | COUNT, SUM, AVG, MIN, MAX, DISTINCT |
Boas práticas de formatação SQL
📐 Indentação consistente
Use sempre o mesmo número de espaços ou tabulações para indentação. Recomendamos 2 ou 4 espaços para manter consistência com JavaScript/TypeScript.
🔤 Palavras-chave em maiúsculas
Palavras-chave SQL em maiúsculas (SELECT, FROM, WHERE) melhoram legibilidade porque diferenciam claramente comandos de nomes de tabelas e colunas.
📄 Uma cláusula por linha
Cada cláusula principal (SELECT, FROM, WHERE, ORDER BY) deve ficar em sua própria linha para facilitar leitura vertical da query.
🔗 JOINs com indentação
Cada JOIN deve ter sua própria linha com indentação, e as condições ON devem ser indentadas um nível abaixo.
📊 GROUP BY com colunas
Liste explicitamente todas as colunas do GROUP BY, não use índices numéricos (1, 2, 3). Isso evita erros quando mudar o SELECT.
FAQ - Perguntas Frequentes
1. O formatador funciona offline?
Sim! Todo o processamento é feito no seu navegador usando JavaScript nativo. Nenhum SQL é enviado para servidores externos, garantindo privacidade total dos seus dados.
2. O formatador suporta todos os bancos de dados?
Sim! Nosso formatador trabalha com SQL padrão ANSI-92, que é compatível com MySQL, PostgreSQL, Oracle, SQL Server, SQLite e outros bancos relacionais. Palavras-chave específicas também são formatadas corretamente.
3. Posso formatar subqueries complexas?
Sim! O formatador detecta subqueries e aplica indentação apropriada. Subqueries serão indentadas para mostrar claramente os níveis de aninhamento, facilitando a compreensão da lógica.
4. A minificação quebra a query SQL?
Não! A minificação apenas remove espaços extras e quebras de linha desnecessárias. A lógica SQL permanece idêntica. Porém, minificadas são mais difíceis de debugar, então use apenas em produção após testar.
5. Como formatar CTEs (Common Table Expressions)?
CTEs com WITH são formatadas automaticamente. Cada CTE recebe sua própria seção com indentação, e a query principal que usa as CTEs é formatada separadamente no final.
6. Posso formatar queries com parâmetros (?, @var, etc)?
Sim! O formatador preserva parâmetros de vinculação placeholders (?, @param, :param, $1) e apenas organiza a estrutura da query. Os parâmetros não são afetados pela formatação.