Formatador de SQL

Formate códigos SQL e entenda o que cada cláusula faz em linguagem simples.

Entrada SQL

Recuo
Palavras-chave
query.sql
Visualização
Cole uma consulta para a formatar ou explicar.

O seu SQL é formatado e analisado diretamente no seu navegador. Nada é enviado para o BroBroGo.

Perguntas Frequentes

Quais dialetos SQL a ferramenta consegue formatar?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake e Spark SQL. Escolha o dialeto correspondente à sua base de dados para que as palavras-chave e as aspas sejam tratadas conforme esperado pelo respetivo motor.

Como funciona a explicação em linguagem simples?

A ferramenta lê a estrutura da consulta — o tipo de instrução e cada cláusula como SELECT, FROM, JOIN, WHERE, GROUP BY e ORDER BY — e explica o que cada uma faz. Ela descreve a estrutura lógica da consulta, e não um plano de execução da base de dados, pelo que funciona mesmo com SQL parcial ou específico de um fornecedor.

É seguro colar consultas de ambientes de produção?

Sim. A formatação e a análise são executadas inteiramente no seu navegador — o seu código SQL nunca sai da página.

A legibilidade do código SQL é um fator crítico no desenvolvimento de software, na análise de dados e na administração de bases de dados. Consultas complexas, muitas vezes geradas automaticamente por ferramentas externas ou escritas de forma apressada, tornam-se rapidamente difíceis de ler, depurar e manter. O Formatador de SQL resolve este problema ao reestruturar o código de forma instantânea, aplicando regras consistentes de indentação e capitalização, ao mesmo tempo que oferece uma análise detalhada da estrutura lógica da consulta.

O processamento é realizado inteiramente no navegador do utilizador, garantindo que os dados não são enviados para servidores externos. Adicionalmente, a ferramenta disponibiliza uma explicação em linguagem simples que decompõe a consulta cláusula por cláusula, facilitando a compreensão do fluxo de dados.

Funcionamento e Parâmetros de Configuração

O Formatador de SQL ajusta a apresentação visual do código com base em três parâmetros principais definidos pelo utilizador:

  • Dialeto: A formatação respeita as especificidades sintáticas de dez dialetos distintos: Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake e Spark SQL. A seleção do dialeto correto garante que elementos como delimitadores de identificadores e funções nativas sejam tratados de acordo com as regras do respetivo motor de base de dados.
  • Recuo: Define o estilo de indentação para a estruturação hierárquica do código, permitindo escolher entre 2 espaços, 4 espaços ou tabulação (tab).
  • Palavras-chave: Controla a capitalização dos comandos SQL (como SELECT, FROM, WHERE), com as opções de converter para MAIÚSCULAS, minúsculas ou Manter o formato original.

A ferramenta aceita consultas com um comprimento máximo de 300 000 caracteres. Caso o código inserido exceda este limite, é apresentada a mensagem "Esta consulta é demasiado grande para ser processada. Tente uma mais pequena.". Se o código contiver erros de sintaxe que impeçam a reestruturação, o sistema exibe o aviso "Não foi possível formatar este SQL — verifique a sintaxe.". Nestas situações de erro, o resultado formatado anteriormente não é substituído, permitindo ao utilizador corrigir o código sem perder o trabalho anterior. O botão "Limpar" redefine a interface, apagando as áreas de entrada e saída, ocultando detalhes de erros e exibindo a mensagem "Limpo.".

Métricas de Saída do Código Formatado

Após o processamento, a ferramenta devolve o código SQL reestruturado e apresenta métricas precisas sobre o resultado:

  • Linhas: O número total de linhas que compõem o SQL formatado.
  • Caracteres: A contagem exata de caracteres presentes no código final.
  • Tamanho: O peso do ficheiro ou volume de dados do SQL formatado.

Explicação Estrutural Cláusula por Cláusula

Para além da formatação visual, a ferramenta analisa a estrutura da consulta e gera uma explicação detalhada em linguagem simples. Esta funcionalidade difere dos planos de execução das bases de dados (como o comando EXPLAIN do PostgreSQL ou MySQL), pois não descreve como o motor de base de dados vai executar a consulta fisicamente, mas sim a lógica estrutural do código. Devido a esta abordagem, a explicação funciona mesmo em consultas parciais ou que utilizem sintaxe específica de um fornecedor.

A análise suporta a decomposição de múltiplas instruções numa única consulta, exibindo a mensagem "{count} instrução(ões) explicada(s).". Cada instrução individual é identificada pelo rótulo "Instrução {n}". Se a consulta contiver mais de 25 instruções, a ferramenta processa e exibe apenas as primeiras 25, acompanhadas da nota "Apenas as primeiras 25 instruções são exibidas.".

Tipos de Instruções Identificados

A ferramenta categoriza a natureza global de cada instrução (Kind) de acordo com as seguintes definições:

Tipo de Instrução Descrição Apresentada
SELECT Uma consulta que lê e retorna linhas sem alterar nenhum dado.
INSERT Adiciona novas linhas a uma tabela.
UPDATE Altera valores em linhas que já existem.
DELETE Remove linhas de uma tabela.
CREATE Define um novo objeto, como uma tabela, visualização (view) ou índice.
ALTER Altera a definição de um objeto existente.
DROP Remove permanentemente um objeto da base de dados.
TRUNCATE Esvazia uma tabela, excluindo todas as linhas.
WITH Cria um resultado temporário nomeado (CTE) para a consulta que vem a seguir.
MERGE Insere, atualiza ou exclui linhas numa única operação combinada.
OTHER Uma instrução SQL.

Papel das Cláusulas na Consulta

Cada componente interna da instrução é analisada individualmente, mapeando o seu papel (Role) específico no fluxo de dados:

  • SELECT: As colunas e expressões retornadas.
  • SELECT DISTINCT: As colunas retornadas, removendo linhas duplicadas.
  • FROM: A tabela (ou subconsulta) de onde os dados são lidos.
  • JOIN: Combina cada linha com as linhas correspondentes de outra tabela.
  • WHERE: Mantém apenas as linhas que atendem a esta condição.
  • GROUP BY: Agrupa as linhas para que funções agregadas como COUNT ou SUM possam ser calculadas por grupo.
  • HAVING: Filtra os grupos após o cálculo das funções agregadas.
  • ORDER BY: Ordena as linhas resultantes.
  • LIMIT: Limita a quantidade de linhas retornadas.
  • OFFSET: Ignora um número específico de linhas antes de começar a retornar os resultados.
  • UNION: Combina estes resultados com os de outra consulta.
  • VALUES: Os valores das linhas que estão sendo inseridas.
  • INTO: A tabela que recebe as novas linhas.
  • SET: Os novos valores de coluna a serem atribuídos.
  • UPDATE: A tabela cujas linhas serão alteradas.
  • DELETE FROM: A tabela de onde as linhas serão removidas.
  • WITH: Define um conjunto de resultados temporário nomeado usado a seguir.
  • STATEMENT: A instrução, exibida como está.

Privacidade e Persistência Local

O processamento dos dados é executado localmente no navegador do utilizador. O código SQL inserido não é enviado para os servidores do BroBroGo, permanecendo estritamente no ambiente local do cliente. Para melhorar a experiência de utilização em sessões contínuas, a ferramenta guarda os rascunhos de trabalho e as preferências de tema (como o modo escuro) diretamente no armazenamento local do navegador.

Perguntas Frequentes

Quais dialetos SQL a ferramenta consegue formatar?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake e Spark SQL. Escolha o dialeto correspondente à sua base de dados para que as palavras-chave e as aspas sejam tratadas conforme esperado pelo respetivo motor.

Como funciona a explicação em linguagem simples?

A ferramenta lê a estrutura da consulta — o tipo de instrução e cada cláusula como SELECT, FROM, JOIN, WHERE, GROUP BY e ORDER BY — e explica o que cada uma faz. Ela descreve a estrutura lógica da consulta, e não um plano de execução da base de dados, pelo que funciona mesmo com SQL parcial ou específico de um fornecedor.

É seguro colar consultas de ambientes de produção?

Sim. A formatação e a análise são executadas inteiramente no seu navegador — o seu código SQL nunca sai da página.