
sq é uma ferramenta livre e de código aberto, projetada para manipulação de dados, permitindo inspeção, consulta, junção, importação e exportação de informações. Com sua linguagem de consultas chamada SLQ, que se pronuncia como 'sleek', o sq facilita a execução de comandos simples, semelhantes ao jq, mas voltados para bancos de dados e documentos. Por exemplo, um comando típico pode ser:
sq '@postgres_db | .actor | .first_name, .last_name | .[0:5]'
Para instalar o sq, os usuários podem utilizar diferentes gerenciadores de pacotes, como brew, scoop, apt, yum, apk, pacman ou yay. As instruções de instalação estão disponíveis no site oficial e na documentação da ferramenta. Para começar a usar, o comando sq help é o ponto de partida ideal, seguido da consulta à documentação.
Entre os destaques das funcionalidades do sq, está a capacidade de comparar tabelas de bancos de dados usando o comando diff, o que permite verificar tanto os metadados quanto os valores das linhas. Além disso, o sq possibilita a importação de planilhas Excel para tabelas do Postgres, preservando os tipos de dados durante o processo de importação.
Outra funcionalidade interessante é a visualização de metadados de um banco de dados utilizando a flag --json para inspecionar esquemas e outros metadados, normalmente redirecionados para jq para facilitar a seleção de elementos relevantes.
O sq também permite a execução de consultas SQL contra um servidor SQL Server e a inserção dos resultados em um banco de dados SQLite, demonstrando sua flexibilidade em trabalhar com diferentes fontes de dados. Para exportar todas as tabelas de um banco de dados para arquivos CSV, o sq fornece um fluxo de comandos que envolve a extração de nomes de tabelas a partir de metadados e a execução de comandos para cada uma delas.
Comandos adicionais para manipulação de tabelas são disponibilizados, permitindo operações como cópia, truncamento e exclusão de tabelas dentro de um único banco de dados. Para copiar uma tabela de um banco para outro, o mecanismo --insert deve ser utilizado.
Além disso, o sq é capaz de consultar arquivos JSONL, que são uma linha de JSON por linha, tornando-o útil para análise de logs e outros formatos de saída de dados que sigam esse padrão. Essa versatilidade torna o sq uma ferramenta poderosa para desenvolvedores e analistas de dados.
Confira os últimos vídeos publicados no canal