Formatador de SQL

Recue e organize consultas SQL. Os mesmos tokens na mesma ordem, só o layout muda.

O que esta ferramenta faz

Cole uma consulta SQL ou abra um arquivo .sql e a ferramenta a organiza para leitura: uma cláusula por linha, uma coluna ou condição por linha, subconsultas e CASE com recuo, e as palavras reservadas na caixa que você escolher. Serve para um comando ou para um script inteiro, e tudo acontece no seu navegador: nomes de tabelas, ids de clientes e valores não são enviados a lugar nenhum.

Como usar

  1. Cole ou digite SQL, clique em "Abrir um arquivo" ou solte um arquivo na página.
  2. Escolha o dialeto: SQL genérico, PostgreSQL, MySQL ou MariaDB, ou SQLite. O dialeto só muda como o texto é lido, por exemplo quais aspas formam um nome e quais formam uma string.
  3. Escolha o recuo, a caixa das palavras reservadas e se as vírgulas ficam no fim da linha ou no início da seguinte.
  4. Copie o resultado ou baixe como formatted.sql.

Nunca muda o que a consulta significa

A ferramenta lê a consulta como tokens e escreve os mesmos tokens na mesma ordem, então não pode reordenar, remover nem juntar nada. Só mudam o espaço entre tokens e a caixa das palavras reservadas. Nomes não são tocados, e palavras como name, date, type, key ou status ficam como estão porque costumam ser nomes. Strings e nomes entre aspas são copiados exatamente.

Comentários e dialetos

Os comentários são mantidos: um no fim da linha continua no fim da linha, e um em linha própria continua sozinho. Depois de um comentário de linha sempre há uma quebra para que ele não engula o código seguinte. O PostgreSQL tem strings $$...$$ e comentários aninhados, o MySQL tem crases e comentários #, e o SQLite aceita [nome].

É um formatador, não um validador: não sabe se a consulta funciona nem se as tabelas existem, e não quebra linhas longas. Para outros formatos veja o formatador de JSON e o formatador de XML; para ver o que mudou, o comparador de textos.

Perguntas frequentes

Formatar muda o que a minha consulta faz?

Não. Os tokens são escritos na mesma ordem; só mudam o espaço em branco e a caixa das palavras reservadas. Nomes, strings, identificadores entre aspas e números são copiados exatamente.

Por que algumas palavras não ficam em maiúsculas?

Uma palavra só é tratada como reservada quando não pode ser nome de coluna ou tabela. Palavras como name, date, type, key ou status costumam ser nomes, e mudar a caixa pode quebrar um banco que diferencia maiúsculas de minúsculas.

Meu SQL é enviado para algum servidor?

Não. A formatação roda no seu navegador e nada sai do seu dispositivo.