[tutorial] importar csv no sqlite3

postagem de conteudo sobre outros tipos de sgdb
Post Reply
User avatar
Kodo no Kami
Admin
Admin
Posts: 725
Joined: Fri Jan 02, 2015 1:56 pm
Contact:

[tutorial] importar csv no sqlite3

Post by Kodo no Kami » Fri Jul 20, 2018 4:44 am

Galera nesse tutorial vamos aprender como importar arquivos csv para o sqlite3 usando a linha de comando, a vantagem de voce importar um arquivos csv é a propria consulta dos dados, um arquivo csv a consulta teria que ser feita linha a linha diferente do que ocorre em um banco de dados relacional onde tem as colunas para cada dado. Outra vantagem é a forma como podemos fazer essa consulta, no csv normalmente voce vai caçar em cada linha um determinado trecho sendo que essa busca é feita pela a aplicação, por outro lado no sqlite voce pode usar a linguagem SQL e manipular cada coluna filtrando da forma que bem entender, sem dizer que a propria consulta é trabalho do banco de dados e não da aplicação (no caso a aplicação apenas diz como deve ser feita a busca e manipula o retorno dela). Os arquivos csv são textos puros onde temos um separador a cada dado indicando cada coluna (normalmente é o virgula), a cada nova linha seria uma entidade diferente. No exemplo a baixo temos o id, usuario e o ip de um csv ficticio.

Code: Select all

1,kodo,192.168.1.9
2,sir.rafiki,192.168.1.6
3,s1m0n,192.168.1.50
4,hefest0,192.168.1.47
Image

vamos abrir ou criar um novo db com o sqlite3, para isso digitamos sqlite3 seguido do nome do db (caso esse db não exista sera criado um novo)

Code: Select all

sqlite3 kodo.db


Image

agora temos que criar a tabela onde vamos armazenar aquele csv (no meu caso vou chamar a tabela de eofclub por causa dos nomes que vou armazenar nela), essa tabela precisa ter a mesma quantidade de colunas do csv (temos que respeitar os tipos de dados tambem ~ isso melhora a performance do nosso db). Como na primeira coluna daquele csv tem apenas numeros podemos criar uma coluna numerica la, na segunda e na terceira são strings podemos criar uma varchar com tamanhos especificos

Code: Select all

create table eofclub (id integer, nome varchar(50), ip varchar(20));
Image

mudamos o modo para csv, para isso usamos o comando .mode csv. As vezes o arquivo csv esta utilizando um delimitador diferente do virgula, nesse caso usamos tambem o .separator especificando ele

Code: Select all

.mode csv
para importar usamos o comando .import seguido do arquivo que vamos importar e por fim a tabela onde vamos armazenar ele

Code: Select all

.import kodo.csv eofclub
Image

pronto foi importado com sucesso, agora podemo usar o select para listar aquela tabela ou fazer buscas mais precisas filtrando com where ou qualquer outra coisa que a linguagem SQL nos permita

Code: Select all

select * from eofclub;
Image

ate um proximo tutorial galera, minna-san sayonara \o

by kodo no kami
Image

que desagradavel ~ mirai kuriyama

User avatar
51M0N
Admin
Admin
Posts: 874
Joined: Fri Jan 02, 2015 2:06 pm

Re: [tutorial] importar csv no sqlite3

Post by 51M0N » Fri Jul 20, 2018 4:40 pm

muito bom o post mano, o bom do sqlite é a simplicidade qd se tem uma bd com pouca info. Se comparado com mysql e postgres e mongodb onde são mais robustos.
Image
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

User avatar
Kodo no Kami
Admin
Admin
Posts: 725
Joined: Fri Jan 02, 2015 1:56 pm
Contact:

Re: [tutorial] importar csv no sqlite3

Post by Kodo no Kami » Sun Jul 22, 2018 3:57 am

vlw mano, realmente sqlite para db com pouca info é perfeito, para dbs muito grande fica complicado =/
Image

que desagradavel ~ mirai kuriyama

Post Reply

Return to “Outros”