SQL-Formatter & Minifier – Documentação completa, Melhores práticas & Integrações
O Zerlo SQL-Formatter & Minifier torna o SQL imediatamente legível (Beautify) ou compacto (Minify). Você controla Indent (2/4/8 Espaços), Caso de palavras-chave (UPPER/lower/Preserve) e na seção Advanced Remoção de comentários bem como forçar ponto e vírgula. Através de Acesso rápido estão disponíveis trechos de exemplo, e com Auto-teste você verifica o comportamento em segundos. A página está acessível aqui: zerlo.net/formattersql.
Conteúdo
- Início rápido
- Resumo das funções
- Exemplos de Acesso rápido (Casos de uso)
- Opções Avançadas (Detalhes e Armadilhas)
- Categorias de aplicação típicas (12 cenários)
- Integração: Website, iFrame, Teams
- API JSON opcional (com exemplos)
- Auto-teste (Passo a passo)
- Dicas profissionais, Desempenho e Segurança
- Notas sobre dialeto e limites
- Solução de problemas e FAQ
- Experimente agora
1) Início rápido
- Abrir zerlo.net/formattersql.
- Cole seu SQL aqui ou digite-o.
- Escolha o Modo: Embelezar (legível) ou Minificar (compacto).
- Defina Indentação (2/4/8) e Caso de palavras-chave (UPPER/lower/Preserve) ativar..
- Opcional: Remover comentários, Forçar ponto e vírgula.
- Clique Formatar – – o resultado aparece à direita, incluindo Copiar e Salvar como .sql.
- Sob Auto-teste você pode testar automaticamente as regras mais importantes..
2) Funções em visão geral
- Embelezar:: Quebras de linha e recuo para
SELECT,FROM,JOIN,WHERE,GROUP BY,HAVING,ORDER BY,LIMIT,UNION,WITH,CASE… - Minificar:: Remove espaços em branco desnecessários; ideal para transporte/incorporação. Opcional com remoção de comentários.
- Caso de palavras-chave:: UPPER, lower ou Preserve (Strings/Identificadores permanecem inalterados).
- Perfil de Indentação:: 2, 4 ou 8 Spaces – consistente em toda a equipe..
- Avançado:: Remover comentários (único/multilinha) & Forçar ponto e vírgula.
- Acesso rápido:: Exemplos predefinidos: simples
SELECT, JOIN com agregado, CASE & Subconsulta, CTE + Window, INSERT … RETURNING, UPDATE com CASE, DELETE + EXISTS. - Auto-teste:: 1-Klick-Verifikation: Regras de Embelezar, Comportamento de Minificação, Mudança de Indentação, Caso de Palavras-chave, Ponto e Vírgula.
- Botões práticos:: Formatar, API JSON (POST) testar aqui, Copiar, Salvar como .sql.
- Saídas:: Painel de resultados, Auto-teste, -Painel,.
3) Exemplos de Acesso rápido (Casos de Uso)
Estes exemplos cobrem os padrões mais comuns e são ideais como ponto de partida.
SELECT id, name FROM products WHERE status = 'active';
SELECT c.id, c.title, COUNT(p.id) AS products
FROM categories c
LEFT JOIN products p ON p.category_id = c.id
GROUP BY c.id, c.title
ORDER BY products DESC;
SELECT u.id, u.email,
CASE
WHEN o.total >= 1000 THEN 'gold'
WHEN o.total >= 200 THEN 'silver'
ELSE 'bronze'
END AS tier
FROM users u
LEFT JOIN LATERAL (
SELECT SUM(total) AS total
FROM orders
WHERE user_id = u.id
) o ON TRUE;
WITH ranked AS (
SELECT id, customer_id, total,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY total DESC) AS rn
FROM orders
)
SELECT * FROM ranked WHERE rn = 1;
INSERT INTO users(email, role)
VALUES ('[email protected]', 'editor')
RETURNING id, email;
UPDATE accounts
SET status = CASE
WHEN balance < 0 THEN 'overdue'
WHEN balance = 0 THEN 'zero'
ELSE 'ok'
END
WHERE active = 1;
DELETE FROM sessions s
WHERE EXISTS (
SELECT 1 FROM users u
WHERE u.id = s.user_id AND u.deleted_at IS NOT NULL
);
4) Opções Avançadas (Detalhes e Armadilhas)
- Remover comentários:: Remova
-- ...e/* ... */. Bom para transporte 'limpo' (CI, incorporação). Atenção: comentários de documentação serão perdidos – se possível, extrair/arquivar previamente. - Forçar ponto e vírgula:: Adiciona
;se não houver no final – evita erros de parser em scripts. Se já existir;, não é duplicado.
5) Categorias de aplicação típicas (12 cenários)
- Revisões de código:: Layout uniforme acelera revisões e evita discussões de estilo.
- Depuração:: Consultas complexas
JOIN/CASEficam imediatamente visíveis. - Compartilhamento de conhecimento:: SQL legível para Wiki/Confluence/README.
- Migrações e scripts:: Ponto-e-vírgula seguro, blocos distintos.
- Integração de API:: Minificar + Remoção de comentários, para incorporar SQL em apps/serviços.
- BI/Relatórios:: Limpar consultas de ferramentas de BI antes de compartilhá-las.
- Aprendizagem & Treinamento:: CTEs/Funções Window apresentadas de forma estruturada.
- Refatoração:: Primeiro embelezar, depois isolar/otimizar partes.
- Reprodução de erros:: Consultas claramente estruturadas para tickets de suporte.
- Aplicação do guia de estilo:: Padrão da equipe (Indentação/Caso) aplicar de forma consistente.
- Modelos:: „Acesso rápido“ como base para novas consultas.
- Preparação para o lançamento:: Minificar para artefatos estáveis e transportáveis..
6) Integração em Website/Teams
A) Usar diretamente
Aqui está a ferramenta: zerlo.net/formattersql
B) Incorporação iFrame (Intranet/Backoffice)
<iframe src="https://zerlo.net/formattersql" title="SQL Formatter" width="100%" height="900" style="border:0; border-radius:12px;"></iframe>
C) Guia de estilo da equipe (base)
- Indentação: 2 ou 4 espaços (consistente).
- Caso de palavras-chave: UPPER (Strings/Identificadores permanecem inalterados).
- JOINs: condições diretamente em
JOIN ... ON; nenhum filtro oculto emWHERE. - CASE: CASE: Cada
WHEN/THENem sua própria linha; útil; útilELSE. - Ponto e vírgula: Sempre usar em scripts.
7) API JSON opcional
Você pode automatizar a formatação em ferramentas/CI/CD. Um exemplo enxuto:
POST https://zerlo.net/formattersql?api=1
Content-Type: application/json
{
"sql": "select id,name from users where id=1",
"mode": "beautify",
"options": { "indent": 4, "keywordCase": "upper", "stripComments": false, "ensureSemicolon": true }
}
{
"ok": true,
"result": "SELECT id, name\nFROM users\nWHERE id = 1;",
"stats": { "ms": 4, "inLen": 43, "outLen": 47 }
}
// Node.js (fetch)
const res = await fetch("https://zerlo.net/formattersql?api=1", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
sql: "SELECT * FROM orders WHERE created_at >= NOW() - INTERVAL '7 days';",
mode: "beautify",
options: { indent: 2, keywordCase: "upper", stripComments: true, ensureSemicolon: true }
})
});
const data = await res.json();
console.log(data.result);
<?php
// PHP
$payload = [
"sql" => "SELECT COUNT(*) FROM products;",
"mode" => "minify",
"options" => [ "indent" => 2, "keywordCase" => "preserve", "stripComments" => true, "ensureSemicolon" => true ]
];
$ch = curl_init("https://zerlo.net/formattersql?api=1");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true
]);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;
8) Auto-teste (Passo a passo)
- Clique na ferramenta abaixo em Auto-teste – – três casos centrais são verificados automaticamente..
- Caso de Embelezar:: Keywords UPPER, Palavras-chave UPPER, quebras claras, indentação limpa.
- Caso de Minificação:: Comentários removidos (se a opção estiver ativa), saída compacta.
- Caso de Indentação:: Troca visível entre 2/4/8 espaços..
- O resultado aparece no Painel Auto-teste; em caso de divergências: verifique as opções e, se necessário, altere o modo.
9) Dicas profissionais, Desempenho e Segurança
- Scripts grandes:: Dividir em blocos temáticos após o 'Beautify' (CTEs, DDL vs DML), depois versionar individualmente..
- Ritmo de Revisão:: Use 'Acesso rápido' como esqueleto padrão; evita proliferação de novas consultas..
- Reduzir fontes de erro:: „Forçar ponto e vírgula“ ativar em pipelines de migração..
- Strings permanecem inalteradas:: O formatador não edita conteúdos entre aspas; a lógica de negócios permanece segura..
- Privacidade:: Não executar SQL – apenas texto. Não armazene conteúdos sensíveis de forma permanente em ferramentas de terceiros..
- Facilita comparações:: Embelezar, depois comparar com Git-Diff – as diferenças saltam aos olhos..
10) Notas sobre dialeto e limites
- MySQL/MariaDB: Palavras-chave padrão e funções são bem reconhecidas..
- PostgreSQL/SQLite: CTEs/Window-Funktionen CTEs/Funções Window são recuadas de forma limpa;
RETURNINGapresenta-se.. - Exóticas:: Sintaxe de dialeto muito específica (p. ex., hints proprietários) permanece o conteúdo; a formatação é genérica..
- Sem análise semântica:: O formatador não 'entende' lógica – ele apenas estrutura o texto. Erros de sintaxe permanecem erros de sintaxe..
11) Solução de problemas e FAQ
„Nada muda?“ – Verifique o modo & opções; a entrada não pode ficar vazia.
„Pontos e vírgula duplicados?“ – Opção 'forçar' + ponto e vírgula existente: desativar a opção.
„Comentários não foram removidos“ – Remoção de comentários ativada ou modo para 'Minificar'
„Consultas muito longas travam no navegador“ – Formatar blocos grandes um de cada vez ou usar a API.
„Palavras-chave em strings alteradas?“ – Não deveria acontecer; verifique se eram strings reais (aspas, não backticks).
12) Experimente agora
Comece aqui: zerlo.net/formattersql