SQL Format

Cole o seu SQL na caixa abaixo e use as opções disponíveis para formatá-lo. SQL-Format foi criado por administradores de banco de dados usando padrões da indústria e big-techs. Aproveite!

Opções de formatação
Linhas: 1 Caracteres: 0 Ln 1, Col 1 SQL · UTF-8

O que é o SQL Format e para quem ele é

O SQL Format é um formatador online gratuito que transforma SQL apertado, escrito em uma única linha ou com indentação inconsistente, em um layout limpo e previsível. Cada cláusula começa em sua própria linha, as listas de colunas são quebradas com um item por linha, os joins e suas condições ficam indentados sob a tabela a que pertencem e as consultas aninhadas são indentadas dentro de seus parênteses.

Ele foi feito para quem lê SQL o dia todo: desenvolvedores revisando um pull request, DBAs desembaraçando uma consulta lenta capturada de um log, analistas arrumando um relatório antes de compartilhá-lo e qualquer pessoa que tenha herdado um comando de 300 linhas escrito em uma linha só. O layout segue convenções usadas há muito tempo por equipes de banco de dados, e as opções abaixo permitem adequá-lo ao estilo da sua própria equipe.

Como usar o formatador

  1. Cole ou digite seu SQL no editor. Você pode colar vários comandos de uma vez; eles são separados a cada ponto e vírgula e formatados um após o outro.
  2. Ajuste as opções se precisar: tamanho da indentação, largura máxima da linha, posição das vírgulas, caixa das palavras-chave e se os parênteses de abertura ficam em sua própria linha.
  3. Clique em Formatar ou pressione Ctrl + Enter (⌘ + Enter no Mac). O SQL formatado substitui o texto no editor.
  4. Use Copiar para colocar o resultado na área de transferência ou Limpar para recomeçar. A barra de status mostra a contagem de linhas e de caracteres e a posição do cursor.

As opções de formatação

Cinco opções controlam o resultado. Os padrões (indentação de 4 espaços, 120 colunas, vírgulas depois, palavras-chave em maiúsculas, parênteses na mesma linha) atendem à maioria das equipes; cada opção tem sua própria página com mais exemplos.

Espaços de indentação

Espaços de indentação define quantos espaços cada nível de aninhamento usa, de 0 para cima; o padrão é 4. Os caracteres de tabulação da sua entrada são substituídos por essa quantidade de espaços, exceto dentro de literais de string e de identificadores entre aspas. O exemplo abaixo usa 2.

Depois, formatado pelo SQL Format
Opções: Espaços de indentação 2 · Quantidade máxima de colunas 120 · Vírgulas: Depois · Palavras-chave: Maiúsculas · Parênteses em nova linha: não
SELECT c.name,
  SUM(o.total) AS revenue
FROM customers c
  JOIN orders o
    ON  o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.name

Saiba mais: Opção Espaços de indentação

Quantidade máxima de colunas

Quantidade máxima de colunas é a largura de linha que o formatador procura respeitar (padrão 120). Expressões longas são quebradas em várias linhas para caber nesse limite; 0 desativa a quebra.

Depois, formatado pelo SQL Format
Opções: Espaços de indentação 4 · Quantidade máxima de colunas 60 · Vírgulas: Depois · Palavras-chave: Maiúsculas · Parênteses em nova linha: não
SELECT order_id,
    quantity * unit_price * (1 - discount_rate) * (1 +
      tax_rate) + shipping_fee - loyalty_credit AS
      amount_due
FROM order_lines
WHERE order_id = 42

Saiba mais: Opção Quantidade máxima de colunas

Vírgulas

Vírgulas escolhe entre vírgulas depois de cada item (o padrão) e vírgulas antes, no início da linha seguinte. Vírgulas no início facilitam comentar uma coluna e geram diffs menores quando você adiciona uma no final.

Depois, formatado pelo SQL Format
Opções: Espaços de indentação 4 · Quantidade máxima de colunas 120 · Vírgulas: Antes · Palavras-chave: Maiúsculas · Parênteses em nova linha: não
SELECT id
    ,email
    ,country_code
    ,created_at
FROM customers

Saiba mais: Opção Vírgulas

Palavras-chave

Palavras-chave coloca as palavras-chave do SQL, como SELECT, FROM e JOIN, em maiúsculas (padrão) ou minúsculas. Literais de string e comentários ficam como você os escreveu.

Depois, formatado pelo SQL Format
Opções: Espaços de indentação 4 · Quantidade máxima de colunas 120 · Vírgulas: Depois · Palavras-chave: Minúsculas · Parênteses em nova linha: não
select id,
    name
from products
where price > 100
order by name

Saiba mais: Opção Palavras-chave

Parênteses em nova linha

Parênteses em nova linha move o parêntese de abertura de um bloco, como uma subconsulta após IN, o corpo de uma CTE ou uma lista quebrada em várias linhas, para sua própria linha, em vez de deixá-lo no fim da linha anterior.

Depois, formatado pelo SQL Format
Opções: Espaços de indentação 4 · Quantidade máxima de colunas 120 · Vírgulas: Depois · Palavras-chave: Maiúsculas · Parênteses em nova linha: sim
SELECT name
FROM customers
WHERE id IN
(
    SELECT customer_id
    FROM orders
    WHERE total > 500
)

Saiba mais: Opção Parênteses em nova linha

Quais dialetos de SQL ele entende

O formatador não está preso a um único banco de dados. Ele trabalha com o SQL que os principais bancos têm em comum: SELECT com joins, subconsultas e CASE, INSERT, UPDATE, DELETE, DDL comum como CREATE TABLE e CREATE VIEW, e comentários nas formas -- e /* */, que são preservados.

Ele tem suporte extra para PostgreSQL: casts com ::, parâmetros $1 e corpos entre dólares $$ … $$, cujo PL/pgSQL é organizado bloco a bloco. Identificadores entre crases do MySQL e identificadores entre colchetes do SQL Server ([bracket]) são mantidos inteiros. Não há seletor de dialeto, então outras sintaxes específicas de um único banco, como o separador de lotes GO do SQL Server, não recebem tratamento especial. Os guias de dialetos explicam as diferenças.

O que acontece com o seu SQL

Quando você clica em Formatar, o SQL do editor é enviado ao nosso servidor por HTTPS, formatado em memória e devolvido imediatamente na página. Ele não é gravado em banco de dados, arquivo ou log, e não é compartilhado com parceiros de análise ou de publicidade. Ainda assim, evite colar senhas, chaves ou dados pessoais reais em qualquer ferramenta online; a página de privacidade traz os detalhes.

Informações de Privacidade

Perguntas frequentes

Meu SQL fica armazenado em algum lugar?

Não. O SQL é formatado em memória no servidor apenas para aquela requisição e devolvido na resposta. Ele não é salvo em banco de dados, arquivo ou log.

A formatação pode mudar o que a minha consulta faz?

Ela foi projetada para alterar apenas espaços em branco, quebras de linha e a caixa das palavras-chave, nunca a ordem ou a lógica do seu SQL. Como em qualquer ferramenta que reescreve código, leia o resultado antes de executá-lo em um banco de dados de produção. Observe que a caixa das palavras-chave também se aplica a nomes que são palavras-chave do SQL, como uma coluna chamada month.

Com quais bancos de dados ele funciona?

Ele formata o SQL comum ao PostgreSQL, MySQL, SQL Server, Oracle, Db2 e SQLite, com tratamento extra para casts, parâmetros e corpos PL/pgSQL do PostgreSQL. Não há seletor de dialeto.

Existe limite de tamanho?

Sim. Uma única requisição pode conter até 20.000 linhas de SQL.

Posso formatar vários comandos de uma vez?

Sim. Separe-os com ponto e vírgula; cada comando é formatado individualmente e eles permanecem na ordem original.

É pago ou precisa de conta?

Não. O formatador é gratuito e não exige cadastro.

Ver todas as perguntas frequentes

Guias e referências

Além da ferramenta, estes guias tratam das convenções por trás de um SQL legível: