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!
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
- 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.
- 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.
- Clique em Formatar ou pressione Ctrl + Enter (⌘ + Enter no Mac). O SQL formatado substitui o texto no editor.
- 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.
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.nameSaiba 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.
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 = 42Saiba 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.
SELECT id
,email
,country_code
,created_at
FROM customersPalavras-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.
select id,
name
from products
where price > 100
order by nameSaiba 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.
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.
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:
- Guia de estilo SQL
- Como formatar consultas SQL complexas
- Vírgulas à esquerda ou à direita em SQL
- Formatação de SQL para code review e controle de versão
- Erros comuns de legibilidade em SQL
- Formatação de consultas PostgreSQL e PL/pgSQL
- Diferenças entre dialetos SQL que afetam a formatação
- Checklist de formatação SQL antes de implantar uma migration
- Documentação das opções: o que cada configuração faz, com exemplos