DevToolPal
PT

Formatador de SQL

Embeleze consultas SQL para MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery e outros.

Roda localmente, nada é enviado

Opções

Entrada

0 caracteres · 0 B

Saída

0 caracteres · 0 B

O que faz

O formatador de SQL transforma uma consulta longa, de uma linha só, em uma consulta legível e com indentação consistente. Cada cláusula (SELECT, FROM, WHERE, GROUP BY, ORDER BY) começa em uma linha própria, as colunas selecionadas e as condições ficam uma por linha, os joins se alinham sob a tabela que unem e as subconsultas são indentadas dentro dos parênteses.

SQL formatado é mais fácil de revisar em pull requests, de depurar quando uma consulta retorna as linhas erradas e de colar em documentação. Também ajuda quando você copia uma consulta de um log de ORM ou de uma mensagem de erro da aplicação, onde tudo vem em uma linha.

Como usar

  1. Cole uma ou mais instruções SQL na caixa Entrada, solte um arquivo .sql sobre ela ou clique em Exemplo.
  2. Escolha o Dialeto do seu banco de dados.
  3. Escolha Palavras-chave em MAIÚSCULAS, minúsculas ou como digitado. Nomes de funções como COUNT seguem a mesma configuração.
  4. Escolha 2 espaços, 4 espaços ou tabs em Indentação.
  5. Copie o resultado ou baixe-o como arquivo .sql. Atalhos: Ctrl/Cmd+Enter formata, Ctrl/Cmd+Shift+C copia.

Várias instruções separadas por ponto e vírgula ficam separadas por uma linha em branco. Os comentários permanecem onde estão.

Exemplo

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id

vira

SELECT
  u.id,
  COUNT(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
  u.id

Dicas

Palavras-chave em maiúsculas destacam as cláusulas em relação aos nomes de tabelas e colunas, a convenção mais comum entre equipes. Se a sua equipe escreve SQL em minúsculas, escolha minúsculas e a consulta inteira vai seguir esse padrão. Se o formatador acusar um token inesperado, confira se o dialeto está certo: por exemplo, nomes entre crases são válidos no MySQL, mas não no SQL padrão.

Perguntas frequentes

› Meu SQL é enviado para um servidor?

Não. O formatador roda no seu navegador, então consultas que revelam nomes de tabelas, dados de clientes ou regras de negócio ficam no seu dispositivo.

› Quais dialetos SQL são suportados?

SQL padrão, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift e Spark SQL. Escolher o dialeto certo ajuda com sintaxes específicas, como identificadores entre crases, casts com :: ou nomes entre colchetes.

› A formatação muda o que a consulta faz?

Não. Só mudam os espaços em branco e, se você quiser, a caixa (maiúsculas/minúsculas) das palavras-chave e dos nomes de funções. Identificadores, literais de string e comentários são mantidos exatamente como foram escritos.

› Por que recebo "Unexpected end of input"?

Normalmente um parêntese ou uma aspa não foi fechado. O erro aponta para o fim da consulta; procure o último ( ou ' de abertura que não tem par.