Guia completo de formatação SQL: embelezamento, minificação e dicas de depuração
Utilitários
Por que formatar SQL?
-- ❌ Comprimido em uma linha—difícil de ler
SELECT u.id,u.name,o.total FROM users u JOIN orders o ON u.id=o.user_id WHERE o.status='paid' AND o.created_at>'2024-01-01' ORDER BY o.total DESC LIMIT 10;
-- ✅ Formatado—a estrutura é clara
SELECT
u.id,
u.name,
o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.status = 'paid'
AND o.created_at > '2024-01-01'
ORDER BY o.total DESC
LIMIT 10;
A formatação torna o fluxo SELECT → FROM → JOIN → WHERE → ORDER BY óbvio à primeira vista.
Usando o Formatador SQL do ToolsKu
Passos
- Abra o Formatador SQL
- Cole seu SQL
- Embelezamento automático (palavras-chave em maiúsculas, indentação alinhada)
- Mude para o modo minificar para remover espaços em branco
Dialetos SQL suportados
| Dialeto | Notas |
|---|---|
| SQL | SQL padrão |
| MySQL | Sintaxe específica do MySQL |
| PostgreSQL | Sintaxe específica do PostgreSQL |
| SQLite | Banco de dados leve |
| T-SQL | SQL Server |
| PL/SQL | Oracle |
Convenções de formatação
Palavras-chave em maiúsculas
SELECT, FROM, WHERE, JOIN, ON, AND, OR, ORDER BY, GROUP BY, HAVING, LIMIT
Regras de indentação
SELECT
column1,
column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
END AS calculated
FROM table1
JOIN table2 ON table1.id = table2.ref_id
WHERE status = 'active'
AND created_at >= '2024-01-01'
GROUP BY column1, column2
HAVING COUNT(*) > 5
ORDER BY column1 DESC;
Indentação de subconsultas
SELECT *
FROM (
SELECT
user_id,
SUM(amount) AS total
FROM orders
WHERE status = 'paid'
GROUP BY user_id
) AS user_totals
WHERE total > 1000;
Cenários práticos
1. Depuração de SQL de logs
Logs de produção frequentemente imprimem SQL minificado:
[2024-06-01 10:00:00] QUERY: SELECT * FROM users WHERE email='test@example.com' AND deleted_at IS NULL
Copie no Formatador SQL para analisar com clareza.
2. SQL gerado por ORM
// Sequelize / TypeORM SQL geralmente não está formatado
console.log(query.getSql());
// → SELECT `User`.`id`, `User`.`name` FROM `users` AS `User` WHERE ...
Formate para ver o que o ORM realmente executa.
3. JSON para SQL
Uma API retorna um array JSON—você precisa de instruções INSERT:
[
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25}
]
Use JSON para SQL para gerar:
INSERT INTO users (name, age) VALUES ('Alice', 30);
INSERT INTO users (name, age) VALUES ('Bob', 25);
4. Minificar SQL (economizar banda)
SQL formatado é para leitura; SQL minificado é para transporte:
-- Formatado: 15 linhas, 380 caracteres
-- Minificado: 1 linha, 195 caracteres (49% menor)
Problemas comuns de formatação SQL
Palavras-chave dentro de strings permanecem em minúsculas
-- ✅ Correto: 'select' dentro de uma string não muda
SELECT * FROM logs WHERE message LIKE '%select%'
Comentários preservados
SELECT id, name -- username
FROM users /* active user count */
WHERE status = 1
O formatador mantém comentários de linha -- e comentários de bloco /* */.
Resumo
A formatação SQL é um hábito de alto impacto para desenvolvedores de banco de dados. O Formatador SQL do ToolsKu suporta múltiplos dialetos e roda localmente no navegador—combine com JSON para SQL para um fluxo completo de dados para SQL.
#SQL#格式化#数据库#查询优化#开发