Em nosso cotidiano trabalhamos constantemente com planilhas e na dica de hoje vamos mostrar como realizar consultas avançadas utilizando a linguagem SQL em planilhas .CSV – Comma Separated Values ou Valores Separados por Virgula. Lembrando que qualquer planilha pode ser exportada para este formato, basta apenas exportar para csv.
SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo SGBD separado. SQLite não é uma biblioteca cliente usada para conectar com um grande servidor de banco de dados, mas sim o próprio servidor. A biblioteca SQLite lê e escreve diretamente no arquivo de banco de dados no disco. ( wikipedia.org )
A SOLOWEB além de oferecer Hospedagem de Sites, Servidores Dedicados, Servidores VPS com o menor custo do Brasil, também desenvolve soluções de software para sua empresa, faça uma cotação sem custo, acesse: www.soloweb.com.br
Existe várias formas de importar e consultar arquivos csv para banco de dados, esta é apena mais uma forma simples e rápida.
Vamos utilizar um aquivo simples chamado pedidos.csv que em nosso exemplo vai representar alguns pedidos de um estabelecimento, com as seguintes colunas:
id = Identificador do pedido
data_pedido = Data do pedido
total_itens = Total de itens no pedido
valor_total = Valor total do pedido
id_cliente = Identificado do cliente
Dados de pedidos.csv exibidos em um editor de planilhas
Dados de pedidos.csv exibidos em um editor de texto
Para iniciarmos precisamos ter instalado o SQLITE3 em nosso sistema operacional
sudo apt install sqlite3
Este comando vai instalar no sistema Ubuntu, para outros sistemas consulte em https://www.sqlite.org
Tudo pronto, agora vamos iniciar fazendo uma consulta simples SQL em nosso arquivos CSV utilizando o utilitário de linha de comando do SQLite
sqlite3 :memory: -cmd '.mode csv' -cmd '.import pedidos.csv tb_pedido' 'SELECT * FROM tb_pedido'
Teremos a seguinte saída:
Para melhorar a visualização temos algumas opções, como por exemplo: -cmd ‘.mode column’
sqlite3 :memory: -cmd '.mode csv' -cmd '.import pedidos.csv tb_pedido' -cmd '.mode column' 'SELECT * FROM tb_pedido'
Entendendo nosso comando
Ao usar o :memory: para abrir um banco de dados na memória. Em seguida, usamos duas -cmd opções para ativar o modo CSV e importar o pedidos.csv arquivo para uma tabela que estamos nomeando como tb_pedido. Em seguida, ele executa a consulta SQL.
Existe outras formas tanto para importar estes arquivos como também para formatar a saída. Acesse https://www.sqlite.org/docs.html
Agora vamos fazer mais um teste com uma consulta que irá agrupar e contar o pedidos pela quantidade de itens e uma média do valor total destes pedidos agrupados.
SELECT total_itens, COUNT(*), AVG(valor_total) FROM tb_pedido GROUP BY total_itens
sqlite3 :memory: -cmd '.mode csv' -cmd '.import pedidos.csv tb_pedido' -cmd '.mode column' 'SELECT total_itens, COUNT(*), AVG(valor_total) FROM tb_pedido GROUP BY total_itens'
Existe diversos ferramentas para manipular SQL que dá suporte ao SQLite, um deles é o DB Browser for SQLite https://sqlitebrowser.org/ e em uma busca rápida no google encontrará outras opções.
Esperamos que este post seja útil, siga-nos nas redes que estaremos sempre postando novas dicas.