七叶笔记 » golang编程 » Node.JS实战44:非常好用的数据库:SQLite

Node.JS实战44:非常好用的数据库:SQLite

Node .JS中,如果选择轻量级、 嵌入式数据库 SQLite 必定是首选。

它不需要像别的数据库一样事先得进行安装、配置,而是可以直接通过node install像安装三方模块一样安装、然后马上使用。

当然它的性能也是勿需质疑的强劲,亿级数据存储、异步处理毫无压力。这也是选择它的另一个理由。

安装

 npm install sqlite3  

这样除了安装sqlite3的npm包,也装了sqlite数据库。

在现实使用中,编译环节不时会发生错误而中断,这时,一般选择重新执行命令,如依然错误,搜索错误信息在网上找解决方案,一般都可以通过。

基础操作

 //数据库的名是"mydatebase.db"
var sqlite3 = require("sqlite3");

//创建数据库
var database = new sqlite3.Database("mydatebase.db",  function (err){
    if (err){
        console. log ("new database error,",err. message );
    }else{
        console.log("new database success");

        //创建表
        database.run("create table if not exists sharewaf_data(time NUMERIC, domain TEXT, ip TEXT, lon_lat TEXT, address TEXT, url TEXT, type TEXT, agent TEXT)",function(err){
            if(err){
                console.log("create database error,",err.message);
            }else{
                console.log("create database success");

                //插入数据
                database.run("insert into sharewaf_data(time, domain, ip, lon_lat, address, url, type, agent) VALUES(?,?,?,?,?,?,?,?)",["time", "domain", "ip", "lon_lat", "taiyuan", "url", "type", "agent"],function(err){
                    if(err){
                        console.log("insert data error,",err.message);
                    }else{
                        console.log("insert data success");

                        //查询
                        database.all("select * from sharewaf_data", function(err, rows) {
                            if(err){
                                console.log("select from sharewaf_data error,",err.message);
                            }else{
                            console.log(rows);
                            }
                        });
                    }

                });
            }
        });
    }
});  

上面的代码中,包含了创建数据库、创建表、插入数据、查询数据几个常见操作。因为是异的原因,所以每个下级操作都在上级操作的回调函数中。

执行效果:

但略显示遗憾的是,sqlite3不支持数据库加密。对于安全性有要求的场景,需代码层面另外进行数据加密处理。

更多本系列文章:

相关文章