SQL-Formatter & Minifier – Documentação completa, Melhores práticas & Integrações

Avatar
Manuel Schulz · 18.10.2025 · Desenvolvimento · 20–25 min

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

  1. Início rápido
  2. Resumo das funções
  3. Exemplos de Acesso rápido (Casos de uso)
  4. Opções Avançadas (Detalhes e Armadilhas)
  5. Categorias de aplicação típicas (12 cenários)
  6. Integração: Website, iFrame, Teams
  7. API JSON opcional (com exemplos)
  8. Auto-teste (Passo a passo)
  9. Dicas profissionais, Desempenho e Segurança
  10. Notas sobre dialeto e limites
  11. Solução de problemas e FAQ
  12. Experimente agora

1) Início rápido

  1. Abrir zerlo.net/formattersql.
  2. Cole seu SQL aqui ou digite-o.
  3. Escolha o Modo: Embelezar (legível) ou Minificar (compacto).
  4. Defina Indentação (2/4/8) e Caso de palavras-chave (UPPER/lower/Preserve) ativar..
  5. Opcional: Remover comentários, Forçar ponto e vírgula.
  6. Clique Formatar – – o resultado aparece à direita, incluindo Copiar e Salvar como .sql.
  7. Sob Auto-teste você pode testar automaticamente as regras mais importantes..

2) Funções em visão geral

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.

1_einfaches_select.sql
SELECT id, name FROM products WHERE status = 'active';
2_join_mit_aggregat.sql
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;
3_case_plus_subquery.sql
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;
4_cte_plus_window.sql
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;
5_insert_returning.sql
INSERT INTO users(email, role)
VALUES ('[email protected]', 'editor')
RETURNING id, email;
6_update_mit_case.sql
UPDATE accounts
SET status = CASE
  WHEN balance < 0 THEN 'overdue'
  WHEN balance = 0 THEN 'zero'
  ELSE 'ok'
END
WHERE active = 1;
7_delete_plus_exists.sql
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)

5) Categorias de aplicação típicas (12 cenários)

  1. Revisões de código:: Layout uniforme acelera revisões e evita discussões de estilo.
  2. Depuração:: Consultas complexas JOIN/CASE ficam imediatamente visíveis.
  3. Compartilhamento de conhecimento:: SQL legível para Wiki/Confluence/README.
  4. Migrações e scripts:: Ponto-e-vírgula seguro, blocos distintos.
  5. Integração de API:: Minificar + Remoção de comentários, para incorporar SQL em apps/serviços.
  6. BI/Relatórios:: Limpar consultas de ferramentas de BI antes de compartilhá-las.
  7. Aprendizagem & Treinamento:: CTEs/Funções Window apresentadas de forma estruturada.
  8. Refatoração:: Primeiro embelezar, depois isolar/otimizar partes.
  9. Reprodução de erros:: Consultas claramente estruturadas para tickets de suporte.
  10. Aplicação do guia de estilo:: Padrão da equipe (Indentação/Caso) aplicar de forma consistente.
  11. Modelos:: „Acesso rápido“ como base para novas consultas.
  12. 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)

embed_iframe.html
<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)

7) API JSON opcional

Você pode automatizar a formatação em ferramentas/CI/CD. Um exemplo enxuto:

api_request.http
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 }
}
api_response.json
{
  "ok": true,
  "result": "SELECT id, name\nFROM users\nWHERE id = 1;",
  "stats": { "ms": 4, "inLen": 43, "outLen": 47 }
}
api_node.js
// 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);
api_php.php
<?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)

  1. Clique na ferramenta abaixo em Auto-teste – – três casos centrais são verificados automaticamente..
  2. Caso de Embelezar:: Keywords UPPER, Palavras-chave UPPER, quebras claras, indentação limpa.
  3. Caso de Minificação:: Comentários removidos (se a opção estiver ativa), saída compacta.
  4. Caso de Indentação:: Troca visível entre 2/4/8 espaços..
  5. 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

10) Notas sobre dialeto e limites

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

O guia foi útil? Compartilhe-o se quiser: