Formate consultas SQL com a indentação e capitalização adequadas enquanto valida a sintaxe. Torna suas consultas de banco de dados legíveis e sem erros instantaneamente.
Uma ferramenta simples para formatar e validar suas consultas SQL com a indentação e verificação de sintaxe adequadas.
O Formatador e Validador SQL é uma ferramenta online poderosa e fácil de usar, projetada para ajudar desenvolvedores, administradores de banco de dados e iniciantes em SQL a formatar e validar suas consultas SQL de forma eficiente. Esta ferramenta gratuita formata automaticamente comandos SQL com a devida indentação, capitalização e espaçamento de acordo com as regras de sintaxe SQL padrão, tornando suas consultas mais legíveis e fáceis de manter. Além disso, ela realiza verificações de validação para identificar erros de sintaxe comuns antes que você os execute em seu banco de dados, potencialmente economizando horas de tempo de depuração. Se você está escrevendo consultas complexas de banco de dados, aprendendo SQL ou simplesmente precisa limpar um código SQL bagunçado, este formatador e validador oferece uma interface intuitiva para melhorar instantaneamente seu fluxo de trabalho em SQL.
Usar o Formatador e Validador SQL é simples:
A interface é projetada para ser intuitiva e responsiva, funcionando perfeitamente em dispositivos desktop e móveis.
O formatador capitaliza automaticamente palavras-chave SQL, como SELECT, FROM, WHERE, JOIN, etc., fazendo com que se destaquem dos nomes de tabelas e colunas. Isso melhora a legibilidade e segue as convenções de estilo SQL padrão.
Consultas SQL são indentadas de acordo com sua estrutura lógica:
O formatador insere quebras de linha em pontos lógicos em sua consulta:
Espaçamento adequado também é adicionado em torno de operadores, parênteses e entre cláusulas para aumentar a legibilidade.
O validador verifica erros de sintaxe SQL comuns e fornece feedback claro:
O validador também identifica erros lógicos comuns:
Quando erros são detectados, eles são exibidos em um formato claro e amigável:
O formatador SQL segue estas regras específicas para garantir SQL consistente e legível:
Todas as palavras-chave SQL são capitalizadas, incluindo:
Antes da Formatação:
1select u.id, u.name, o.order_date from users u join orders o on u.id = o.user_id where o.status = "completed" group by u.id order by u.name;
2
Depois da Formatação:
1SELECT
2 u.id,
3 u.name,
4 o.order_date
5FROM users u
6 JOIN orders o ON u.id = o.user_id
7WHERE
8 o.status = "completed"
9GROUP BY
10 u.id
11ORDER BY
12 u.name;
13
O validador verifica os seguintes problemas:
SQL Inválido com Erros:
1SELECT user_id, COUNT(*) FROM orders
2JOIN users
3WHERE status =
4GROUP BY
5HAVING count > 10;
6
Erros de Validação:
O Formatador e Validador SQL é valioso em vários cenários:
Embora nosso Formatador e Validador SQL forneça funcionalidades essenciais, existem alternativas a considerar:
SQL (Structured Query Language) foi desenvolvido na década de 1970 na IBM, com a primeira implementação comercial lançada em 1979. O Instituto Nacional de Padrões dos EUA (ANSI) publicou o primeiro padrão SQL em 1986, seguido pela Organização Internacional de Normalização (ISO) em 1987.
À medida que o SQL evoluiu através de múltiplos padrões (SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2011, SQL:2016 e SQL:2019), as práticas de formatação também se desenvolveram para melhorar a legibilidade e a manutenibilidade do código.
Nos primeiros dias do SQL, a formatação era inconsistente e baseada principalmente nas preferências individuais. À medida que os sistemas de banco de dados se tornaram mais complexos e o desenvolvimento baseado em equipe se tornou comum, a necessidade de formatação padronizada cresceu.
Principais marcos na história da formatação SQL:
A validação SQL evoluiu de simples verificação de sintaxe para análises mais sofisticadas:
Não Formatado:
1select id, first_name, last_name, email from customers where status = 'active' order by last_name, first_name;
2
Formatado:
1SELECT
2 id,
3 first_name,
4 last_name,
5 email
6FROM
7 customers
8WHERE
9 status = 'active'
10ORDER BY
11 last_name,
12 first_name;
13
Não Formatado:
1select c.id, c.name, o.order_date, o.total_amount from customers c left join orders o on c.id = o.customer_id where o.order_date >= '2023-01-01' and o.status != 'cancelled' order by o.order_date desc;
2
Formatado:
1SELECT
2 c.id,
3 c.name,
4 o.order_date,
5 o.total_amount
6FROM
7 customers c
8 LEFT JOIN orders o ON c.id = o.customer_id
9WHERE
10 o.order_date >= '2023-01-01'
11 AND o.status != 'cancelled'
12ORDER BY
13 o.order_date DESC;
14
Não Formatado:
1select d.department_name, (select count(*) from employees e where e.department_id = d.id) as employee_count, (select avg(salary) from employees e where e.department_id = d.id) as avg_salary from departments d where d.active = true having employee_count > 0 order by avg_salary desc;
2
Formatado:
1SELECT
2 d.department_name,
3 (
4 SELECT
5 COUNT(*)
6 FROM
7 employees e
8 WHERE
9 e.department_id = d.id
10 ) AS employee_count,
11 (
12 SELECT
13 AVG(salary)
14 FROM
15 employees e
16 WHERE
17 e.department_id = d.id
18 ) AS avg_salary
19FROM
20 departments d
21WHERE
22 d.active = TRUE
23HAVING
24 employee_count > 0
25ORDER BY
26 avg_salary DESC;
27
Aqui estão exemplos de como implementar a formatação SQL em várias linguagens de programação:
1// Exemplo de formatação SQL em JavaScript usando a biblioteca sql-formatter
2const sqlFormatter = require('sql-formatter');
3
4function formatSQL(sql) {
5 return sqlFormatter.format(sql, {
6 language: 'sql',
7 uppercase: true,
8 linesBetweenQueries: 2,
9 indentStyle: 'standard'
10 });
11}
12
13const rawSQL = "select id, name from users where status='active'";
14const formattedSQL = formatSQL(rawSQL);
15console.log(formattedSQL);
16
1# Exemplo de formatação SQL em Python usando sqlparse
2import sqlparse
3
4def format_sql(sql):
5 return sqlparse.format(
6 sql,
7 reindent=True,
8 keyword_case='upper',
9 identifier_case='lower',
10 indent_width=2
11 )
12
13raw_sql = "select id, name from users where status='active'"
14formatted_sql = format_sql(raw_sql)
15print(formatted_sql)
16
1// Exemplo de formatação SQL em Java usando JSqlParser
2import net.sf.jsqlparser.parser.CCJSqlParserUtil;
3import net.sf.jsqlparser.statement.Statement;
4
5public class SQLFormatter {
6 public static String formatSQL(String sql) throws Exception {
7 Statement statement = CCJSqlParserUtil.parse(sql);
8 return statement.toString()
9 .replaceAll("(?i)SELECT", "\nSELECT")
10 .replaceAll("(?i)FROM", "\nFROM")
11 .replaceAll("(?i)WHERE", "\nWHERE")
12 .replaceAll("(?i)ORDER BY", "\nORDER BY");
13 }
14
15 public static void main(String[] args) throws Exception {
16 String rawSQL = "select id, name from users where status='active'";
17 String formattedSQL = formatSQL(rawSQL);
18 System.out.println(formattedSQL);
19 }
20}
21
1<?php
2// Exemplo de formatação SQL em PHP
3function formatSQL($sql) {
4 // Substituir palavras-chave por versões em maiúsculas
5 $keywords = ['SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT JOIN', 'RIGHT JOIN',
6 'INNER JOIN', 'GROUP BY', 'ORDER BY', 'HAVING', 'LIMIT'];
7
8 $formattedSQL = $sql;
9 foreach ($keywords as $keyword) {
10 $formattedSQL = preg_replace('/\b' . preg_quote($keyword, '/') . '\b/i', "\n$keyword", $formattedSQL);
11 }
12
13 // Adicionar indentação
14 $lines = explode("\n", $formattedSQL);
15 $result = '';
16 $indentLevel = 0;
17
18 foreach ($lines as $line) {
19 $trimmedLine = trim($line);
20 if (!empty($trimmedLine)) {
21 $result .= str_repeat(" ", $indentLevel) . $trimmedLine . "\n";
22 }
23 }
24
25 return $result;
26}
27
28$rawSQL = "select id, name from users where status='active'";
29$formattedSQL = formatSQL($rawSQL);
30echo $formattedSQL;
31?>
32
A formatação SQL é o processo de estruturar o código SQL com a devida indentação, quebras de linha e capitalização para torná-lo mais legível e fácil de manter. Uma boa formatação SQL segue convenções estabelecidas, como capitalizar palavras-chave, colocar cláusulas em linhas separadas e usar indentação consistente para estruturas aninhadas.
Formatar consultas SQL oferece vários benefícios:
Este formatador SQL suporta a sintaxe SQL padrão que funciona na maioria dos principais sistemas de banco de dados, incluindo:
Embora o formatador lide bem com SQL padrão, alguns recursos específicos de dialetos podem não ser formatados de maneira ideal.
O validador verifica erros de sintaxe comuns e problemas estruturais, mas não pode detectar todos os possíveis erros, especialmente aqueles relacionados a:
É melhor usado como uma primeira linha de defesa antes de executar consultas em seu banco de dados.
Atualmente, o formatador usa um estilo padrão baseado em convenções SQL amplamente aceitas. Versões futuras podem incluir opções de personalização para:
Sim, esta ferramenta processa todo o SQL completamente em seu navegador. Suas consultas SQL nunca são enviadas para nenhum servidor ou armazenadas em nenhum lugar. Isso torna seguro usar com código SQL sensível ou proprietário.
Para consultas SQL muito grandes:
Esta ferramenta baseada na web requer uma conexão com a internet para carregar inicialmente. No entanto, uma vez carregada, ela funciona inteiramente em seu navegador. Para uso totalmente offline, considere:
O validador foca em elementos de sintaxe comuns entre versões SQL (SQL-92 e posteriores). Ele pode não reconhecer alguns recursos específicos dos padrões SQL mais recentes ou extensões proprietárias. Para validação específica de versão, considere usar ferramentas fornecidas pelo seu fornecedor de banco de dados.
Embora esta ferramenta web não ofereça integração direta, muitos IDEs têm capacidades de formatação semelhantes através de extensões ou plugins. Para fluxos de trabalho automatizados, considere ferramentas de linha de comando como:
Experimente nosso Formatador e Validador SQL hoje para melhorar a qualidade, legibilidade e correção do seu código SQL!
Descubra mais ferramentas que podem ser úteis para o seu fluxo de trabalho