“SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido.” (Wikipedia) Você não precisa de um servidor banco de dados rodando na sua máquina para poder usar o sqlite, o que facilita a vida do programador, além de ser um banco de dados leve.
Para se usar sqlite em node.js devemos fazer o uso de pacote ou módulo que nos ajude, existem vários. Um dos mais conhecidos é o node-sqlite3, que já usei e é realmente muito bom, mas não me agradei da forma com que ele retorna os dados. Por isso fiz o meu próprio módulo para sqlite, que é o sqlite-sync.js.
Instalando
A biblioteca está disponível no NPM e você pode baixa-la e instala-la com o seguinte comando:
npm install sqlite-syncUsando
O uso do sqlite-sync é bem simples, ele foi desenvolvido para funcionar de forma síncrona ou assíncrona, e a conexão com o banco de dados é totalmente síncrona, por isso o nome. Veja como usar:
Fazendo consulta
No sqlite-sync existem várias formas de se fazer um SELECT (veja aqui), a mais simples é esta:
Inserindo dados
Assim como a consulta, a inserção pode ser feita de várias maneiras (veja aqui), a mais simples é esta, onde eu passo apenas o nome da tabela e os dados a serem inseridos em forma de objeto JSON, sendo que as chaves do objeto devem ter os mesmos nomes das colunas da tabela:
Update
Como você já deve imaginar, para se fazer um UPDATE existem várias maneiras de fazer, veja aqui, e mais simples é esta, onde passo por parâmetro o nome da tabela, os campos a serem alterados, e o campo de referencia que na maioria das vezes é a chave primária da tabela. Veja:
Síncrono e Assíncrono
sqlite-sync tem este nome, mas funciona tanto de forma síncrona como de forma assíncrona para dar ao desenvolvedor a oportunidade de escolher. É possível executar um SQL e receber o retorno em uma variável, ou então passar como parâmetro uma função de retorno (callback), veja exemplos abaixo de como fazer um e outro.
1
2
3
4
5
6
7
|
//Síncrono
var rows = sqlite.run("SELECT * FROM myTable");
//Assíncrono
sqlite.runAsync("SELECT * FROM myTable", function(rows){
conosole.log(rows);
});
|



Nenhum comentário:
Postar um comentário