Pular para o conteúdo
100% Privacidade — Seus arquivos permanecem no seu dispositivo
>_
Português

Formatador e validador de SQL

Organize ou minifique SQL e verifique erros de sintaxe com a linha e a coluna exatas — para 20 dialetos, tudo no seu navegador.

Tudo roda no seu navegador — seu SQL nunca é enviado a nenhum servidor.

Opções
1 linhas · 0 B

Solte um arquivo .sql ou .txt aqui, cole o texto ou carregue um exemplo. Pressione Ctrl+Enter para executar.

Verificação de sintaxe

Cole um SQL para verificar a sintaxe.

“Válido” significa que a sintaxe está correta para esta gramática. O verificador não conhece o esquema do banco de dados, então não sabe se as tabelas ou colunas existem nem se a consulta vai rodar. Sintaxe específica de um dialeto ou muito recente pode ser rejeitada mesmo que o seu banco de dados a aceite.

Formate, minifique e verifique SQL no navegador

Um SQL legível é mais fácil de revisar, depurar e comparar. Esta ferramenta reescreve a consulta com indentação, quebras de linha e uso de maiúsculas consistentes nas palavras-chave, e entende as peculiaridades de cerca de vinte dialetos, entre eles MySQL, PostgreSQL, SQL Server (T-SQL), SQLite, BigQuery, Snowflake, Redshift, Oracle PL/SQL, Hive, Spark, Trino e DB2. Escolha um dialeto, use dois ou quatro espaços ou tabs, decida se palavras-chave, tipos de dados e nomes de funções ficam em maiúsculas, minúsculas ou como estão e, se for o estilo da sua equipe, leve as vírgulas para o início de cada linha.

A verificação de sintaxe é a outra metade. Cole um script e cada comando é validado separadamente, para você ver quais passam e quais falham. Quando há uma falha, aparecem a linha e a coluna, o token problemático, algumas linhas de contexto e, sempre que possível, uma dica, como uma palavra-chave escrita errado, uma vírgula sobrando ou um parêntese sem fechar. A divisão dos comandos leva em conta strings, comentários, crases, colchetes e corpos dollar-quoted do PostgreSQL, então um ponto e vírgula dentro de um literal nunca corta um comando ao meio.

Minificar faz o oposto de formatar: reduz os espaços em branco e, se você quiser, remove os comentários, gerando uma consulta compacta em uma única linha para logs, arquivos de configuração ou para embutir no código. Ele trabalha com tokens, e não com expressões regulares, então o texto dentro de strings e de nomes entre aspas permanece exatamente como foi escrito.

Fique atento aos limites. Uma verificação verde prova que a sintaxe corresponde à gramática escolhida, não que suas tabelas existem nem que a consulta é rápida ou correta. Alguns dialetos, blocos procedurais e recursos mais recentes têm suporte apenas parcial, e alguns dialetos não têm verificador próprio; nesse caso, você mesmo pode escolher a gramática mais próxima. Tudo acontece localmente, então você pode colar consultas de produção com segurança, e um arquivo grande apenas pausa a prévia ao vivo até você clicar em um botão.

Perguntas frequentes

“Válido” significa que a minha consulta vai rodar?

Não. O verificador analisa apenas a sintaxe. Ele não tem acesso ao seu banco de dados, então não sabe se uma tabela ou coluna existe, se os tipos são compatíveis nem se você tem permissão. Além disso, usa uma gramática própria, de modo que uma sintaxe novíssima ou específica de um fornecedor pode ser rejeitada mesmo que o seu banco a aceite. Encare o resultado verde como “o SQL está bem formado” e o vermelho como “olhe este ponto”.

Meu SQL é enviado para algum lugar?

Não. Formatar, minificar e verificar a sintaxe acontecem no seu navegador, em um processo em segundo plano. Nada é enviado a um servidor. O rascunho opcional e as suas configurações ficam apenas no armazenamento local deste navegador.

Por que o formatador pode funcionar enquanto o verificador aponta um erro?

São duas ferramentas diferentes. O formatador só precisa reconhecer tokens e cláusulas, por isso é tolerante. O verificador usa uma gramática completa do dialeto escolhido e é mais rigoroso. Quando os dois divergem, você vê um aviso: o resultado continua sendo exibido, mas a linha assinalada merece uma conferida.

Minificar muda o que a minha consulta faz?

Só remove espaços em branco e comentários. Strings, identificadores entre aspas, blocos dollar-quoted e dicas para o otimizador são copiados caractere por caractere, e tokens que estavam colados continuam colados. Por precaução, não minifique scripts que dependem de quebras de linha, como blocos DELIMITER do MySQL.

Ferramentas relacionadas