SQL é famoso por ser escrito uma vez com pressa e lido muitas vezes sob pressão. Um formato consistente é uma das maneiras mais baratas de tornar as consultas revisáveis, depuráveis e compartilháveis. Este guia aborda por que a formatação é importante, as convenções por trás das maiúsculas e minúsculas das palavras-chave e quando usar a redução.
Consultas legíveis proporcionam melhores revisões de código
Uma consulta compactada em uma linha esconde sua própria estrutura. Quando cada cláusula — SELECT, FROM, cada JOIN, WHERE, Agrupar por — começa em sua própria linha, um revisor pode ver rapidamente quais tabelas estão unidas, quais chaves e quais filtros se aplicam. O recuo da lista de seleção e das condições de junção adiciona uma segunda camada de estrutura: você pode examinar as colunas sem analisar a instrução inteira. O resultado é menos bugs perdidos (uma condição de junção esquecida é óbvia quando ON fica em sua própria linha recuada) e revisões mais rápidas. O formatador destina-se a alterar apenas espaços em branco e maiúsculas e minúsculas de palavras-chave reconhecidas, mas é o processamento de texto de melhor esforço em vez de um analisador SQL, portanto, revise a saída e valide consultas importantes com as ferramentas do seu banco de dados.
Convenções de maiúsculas e minúsculas de palavras-chave
A convenção de longa data é escrever palavras-chave SQL em MAIÚSCULAS e identificadores (tabelas, colunas, aliases) em letras minúsculas ou mistas. O contraste faz com que a estrutura da linguagem se destaque do seu esquema. Algumas equipes preferem SQL totalmente em letras minúsculas para uma aparência mais suave, e algumas usam palavras-chave em maiúsculas. Não existe uma única escolha correta — o que importa é a consistência em uma base de código, e é por isso que um formatador que aplica uma regra em todos os lugares é tão útil. Esta ferramenta refaz apenas palavras-chave reconhecidas; os nomes de suas tabelas e colunas mantêm todas as maiúsculas e minúsculas que já possuem, e qualquer coisa dentro de uma string literal ou comentário nunca é alterada.
Quando minificar
Minificar — reduzir uma consulta a uma única linha — é o oposto de embelezar e tem seu lugar. Quando uma consulta precisa estar dentro do código-fonte do aplicativo como uma constante de string, dentro de um valor de configuração JSON ou YAML ou em uma linha única do shell, as quebras de linha atrapalham. Minify remove espaços em branco de formatação enquanto mantém intacto o conteúdo do literal de string. Ele também descarta comentários, porque um comentário de linha única (--) comentaria tudo depois dele; revise o resultado e valide consultas importantes com suas ferramentas de banco de dados, em vez de presumir que cada entrada está semanticamente inalterada. Se você precisar da versão legível de volta, basta colar a consulta reduzida na guia Embelezar.
Um formatador não é um validador
Vale a pena deixar claro os limites. Esta ferramenta formata texto – ela não se conecta a um banco de dados, não executa sua consulta ou verifica se é SQL válido. Se você colar algo que não pode ser totalmente analisado, ele ainda aplicará o espaçamento de melhor esforço e sinalizará a saída como um formato parcial em vez de falhar. Isso o torna seguro e rápido para o uso diário, mas você ainda deve executar sua consulta em um banco de dados real (ou linter) para confirmar a correção. Pense na formatação como o primeiro e mais barato passo para escrever um SQL limpo, e não a última palavra sobre se ele funciona.