Ferramentas de banco de dados e SQL

Formatador de SQLEntenda a consulta sem perder o conteúdo

Entenda a consulta sem perder o conteúdo

Formatador de SQL

Entrada SQL

Resultado

Processamento local no navegador. Sem conexão ao banco nem histórico salvo.

Dialeto e apresentação

Não há conexão, consulta ao esquema, checagem de permissões ou EXPLAIN. Formatar não valida a sintaxe; obter uma AST também não demonstra que a consulta funciona no seu banco. Só palavras-chave estruturais mudam de caixa; termos contextuais como ACTION ou NO mantêm a grafia para proteger identificadores.

Entrada: 100.000 unidades UTF-16, 20.000 tokens, 50 níveis de parênteses e 200 instruções. AST: 5.000 tokens e 30 níveis. Saída: 1.000.000 de unidades; prévias crescem em 20.000 e a exportação é completa.

Digite SQL ou escolha um exemplo.

O Formatador de SQL ajuda a revisar consultas longas retiradas de logs antes de alterá-las no editor. Escolha primeiro o dialeto de origem: aspas parecidas podem ter significados diferentes em cada banco.

Para formatar SQL, destaque junções e subconsultas. O embelezador SQL organiza os recuos; a opção de minificar SQL reduz espaços externos. Uma apresentação correta não comprova que a consulta será executada com sucesso.

Por que usar este Formatador de SQL?

Acompanhe cada cláusula

O Formatador de SQL separa cláusulas e uniformiza os recuos. Ele compara strings, grafias numéricas e comentários com a origem e recusa alterações cujo conteúdo não consegue preservar com segurança.

Uma consulta compacta se transforma em linhas recuadas, preservando os blocos de strings e comentários.

Separe estrutura e apresentação

O modo AST usa outro parser para quatro dialetos. Oracle continua disponível para formatação, mas não possui AST. A árvore representa a interpretação do parser, não um plano de execução do banco.

Uma consulta se ramifica em uma árvore sintática ao lado de um painel de texto independente.

Escolha a gramática antes do estilo

01

Selecione o dialeto real

MySQL, PostgreSQL, SQLite, SQL Server e Oracle têm regras diferentes para aspas. Escolher PostgreSQL não traduz uma consulta MySQL: apenas muda a gramática usada nesta operação.

02

Defina a saída desejada

Formatar facilita a leitura; compactar reduz espaços; AST produz JSON. Recuos e caixa afetam o texto SQL. A árvore possui limites mais rigorosos para números e complexidade.

03

Revise antes de substituir

O processamento automático aguarda 350 ms. Desative-o para usar o botão ou Ctrl/Cmd+Enter. Usar resultado abre uma prévia; depois de aplicar, Desfazer restaura entrada, opções e resultado anteriores.

Papéis diferentes para texto e árvore

Cinco dialetos de formatação

sql-formatter oferece dois espaços, quatro espaços ou tabulações, com palavras-chave maiúsculas, minúsculas ou originais. A configuração mantém a caixa de identificadores, funções e tipos. Só palavras-chave estruturais mudam de caixa; termos contextuais como ACTION ou NO mantêm a grafia para proteger identificadores.

Compactação com comentários

Reduz espaços fora dos tokens sem apagar comentários de linha, blocos ou dicas executáveis. As quebras necessárias entre strings adjacentes no PostgreSQL também permanecem.

Árvore sintática com limites

node-sql-parser processa seu subconjunto compatível de MySQL, PostgreSQL, SQLite e Transact-SQL. O JSON exportado inclui só a árvore atual, sem histórico do editor nem entradas anteriores.

O que o resultado não comprova

Sem execução no banco
Não há conexão, consulta ao esquema, checagem de permissões ou EXPLAIN. Formatar não valida a sintaxe; obter uma AST também não demonstra que a consulta funciona no seu banco.
Scripts completos ficam fora
Procedures, gatilhos, definições de função, blocos BEGIN/DECLARE, lotes GO, DELIMITER personalizado, templates e metacomandos do cliente não são suportados. Oracle não oferece AST.
Precisão numérica na AST
Aceita inteiros decimais e decimais comuns com até 15 algarismos significativos. Expoentes e hexadecimais são recusados nesse modo. Nós numéricos precisam corresponder à origem; saídas SQL mantêm a precisão original. É preciso um dígito antes do ponto decimal (0.5 em vez de .5).
Quebras podem permanecer
Saída compacta não promete uma única linha. Remover a quebra após -- pode comentar o restante da consulta. O efeito real de dicas e comentários executáveis no servidor não é verificado.
Limites de processamento
Entrada: 100.000 unidades UTF-16, 20.000 tokens, 50 níveis de parênteses e 200 instruções. AST: 5.000 tokens e 30 níveis. Saída: 1.000.000 de unidades; prévias crescem em 20.000 e a exportação é completa.

Perguntas sobre o Formatador de SQL

Como devo formatar consultas SQL?

Mantenha dialeto e recuo consistentes para acompanhar junções, condições e subconsultas. Este Formatador de SQL separa apresentação e árvore sintática. Revise também a consulta alterada no contexto do seu banco.

Existe motivo para escrever palavras-chave SQL em maiúsculas?

Maiúsculas destacam cláusulas, mas são uma convenção de estilo. Escolha minúsculas ou manter se combinar melhor com o projeto. Essa opção não converte strings nem identificadores entre aspas.

Dá para organizar SQL sem aumentar tanto o número de linhas?

Escolha a saída compacta. Ela reduz espaços externos e preserva comentários e quebras necessárias após comentários de linha ou entre strings adjacentes do PostgreSQL. Não apaga conteúdo para forçar uma linha só.

Posso verificar uma consulta MySQL sem executá-la?

AST informa se este parser aceita a gramática. Não verifica tabelas, tipos de colunas, permissões ou comportamento do servidor. Um resultado apenas formatado confirma somente a operação de apresentação.

Por que metacomandos do cliente causam erros em formatadores SQL?

Comandos psql com barra invertida pertencem ao cliente, não à gramática SQL comum. Guarde o script original separadamente e extraia a consulta que deseja formatar; esses comandos não são interpretados aqui.

Encontrou um problema de formatação?

Revise a próxima consulta

Use o Formatador de SQL para comparar texto legível, versão compacta ou uma árvore compatível antes de escolher o resultado que levará ao editor.