[ publicidade ]

SQL Formatter

Transforme queries em uma única linha em SQL legível, com cláusulas alinhadas, palavras-chave padronizadas e indentação configurável para o dialeto do seu banco.

SQL

Formatado

SELECT
    u.id,
    u.name,
    count(o.id) AS total
FROM
    users u
    LEFT JOIN orders o ON o.user_id = u.id
WHERE
    u.created_at >= '2026-01-01'
    AND u.active = TRUE
GROUP BY
    u.id,
    u.name
HAVING
    count(o.id) > 5
ORDER BY
    total DESC
LIMIT
    10;

Usar via API

Formata uma query SQL.

POSThttps://enhanced.dev.br/api/v1/sql/format
Parâmetros do corpo JSON
Corpo (JSON)TipoDescrição
sql *stringQuery a formatar.
language"postgresql" | "mysql" | "sqlite"Dialeto. Padrão: "postgresql".
keywordCase"upper" | "lower" | "preserve"Padrão: "upper".
tabWidth2 | 4Padrão: 2.

Exemplo de requisição

curl -X POST "https://enhanced.dev.br/api/v1/sql/format" \
    -H "Content-Type: application/json" \
    -d '{"sql":"select id, name from users where active = true order by name","language":"postgresql","keywordCase":"upper","tabWidth":4}'

Resposta

{
  "ok": true,
  "data": {
    "language": "postgresql",
    "output": "SELECT\n    id,\n    name\nFROM\n    users\nWHERE\n    active = TRUE\nORDER BY\n    name"
  },
  "meta": {
    "version": "v1"
  }
}
  • Erros retornam { ok: false, error: { code, message } } com status HTTP 4xx/5xx.
  • Gratuita e sem chave de API. Limite de 120 requisições por minuto por IP.
  • CORS liberado: pode ser chamada direto do navegador em qualquer domínio.
[ publicidade ]

Como usar

  1. Cole a query no painel SQL.
  2. Escolha o dialeto: PostgreSQL, MySQL ou SQLite.
  3. Defina a caixa das palavras-chave e a indentação.
  4. Copie a query formatada.

Casos de uso

  • Ler queries geradas por ORMs e capturadas em logs.
  • Padronizar SQL em code reviews e migrations.
  • Documentar consultas em wikis e tickets.

Conceitos técnicos

Por que o dialeto importa

Cada banco tem sintaxe própria: PostgreSQL usa :: para cast e $1 para parâmetros, MySQL usa crases para identificadores e SQLite aceita tipos flexíveis. Escolher o dialeto correto evita que o formatador interprete esses tokens de forma errada.

Convenções de estilo

Palavras-chave em maiúsculas e cada cláusula principal (SELECT, FROM, WHERE, GROUP BY, ORDER BY) em sua própria linha são as convenções mais difundidas, facilitando a leitura e diffs menores no controle de versão.

Perguntas frequentes

A formatação altera o resultado da query?

Não. Apenas espaços, quebras de linha e a caixa das palavras-chave mudam; identificadores e literais são preservados.

Por que aparece erro de parse?

O formatador não reconheceu algum token no dialeto escolhido, como uma sintaxe específica de outro banco. Tente outro dialeto ou verifique parênteses e aspas.

Ferramentas relacionadas