node.js中使用sqlite3
来源:互联网 发布:谢道清 知乎 编辑:程序博客网 时间:2024/05/17 06:14
一、sqlite简介
sqlite是一款轻量级的数据库,sqlite的第一个版本是2000年就发布了的,经过十多年的历练,显然sqlite目前已经相当成熟。sqlite最大的特点就是没有任何数据库服务器,无论是C、java、node.js,只需要相应的驱动,就可以直接对数据库进行读写,速度是相当的快。相比之下,其他的sql数据库必须启动一个服务,而且还要安装、配置,sqlite简洁的令人感动。
由于没有了服务器,sqlite的sql执行速度相当快。sqlite的主要应用是嵌入式领域、移动互联网、火狐浏览器等,由于对并发连接支持非常不好,因此在信息管理系统中用的不多。但本人由于各种原因在做一个管理系统的项目中使用了sqlite,跑在大约1000用户的环境下,数据量达到了5000万的级别,居然没有出现任何问题。看来sql不可貌相,蚂蚁有时候也能干大象干的事。
二、node.js安装sqlite3模块
和其他语言一样,node.js仍然只需要一个module就可以对sqlite进行操作了。
npm find sqlite
发现sqlite的模块居然有几十个,足见node.js目前的火爆程度,小小的sqlite就有这么多可用模块。
其中一个就叫做sqlite3,解释如下:
sqlite3 Asynchronous, non-blocking SQLite3 bindings 异步,非阻塞sqlite3绑定。
node.js最大的特点就是异步,这款sqlite的驱动太符合node的核心思想了,经过与其他模块的比较,最终还是选择了这款。
npm install sqlite3
就将sqlite的驱动安装进来了。
三、调用sqlite3的接口
//file:test.jsvar sqlite3 = require('sqlite3');var db = new sqlite3.Database('/tmp/1.db',function() { db.run("create table test(name varchar(15))",function(){ db.run("insert into test values('hello,world')",function(){ db.all("select * from test",function(err,res){ if(!err) console.log(JSON.stringify(res)); else console.log(err); }); }) });});
执行:
node test.js
[{"name":"hello,world"}]
怎么样,还是很简单的吧,插入的时候使用db.run(),查询的时候使用db.all()
由于是异步,必须在执行sql后注册回调函数,这样如果连续执行几十条sql,那代码就跟楼梯差不多了。但这就是node的特点,所以还是要慢慢适应。
node中操作sql确实不如在java中方便,但也可以像java一样使用ORM来实现对象-数据库的映射。但最好还是用和node绝配的mongodb,这样写起代码来才爽!
- node.js中使用sqlite3
- Node-webkit中使用sqlite3
- Node.js操作SQLite3
- node-webkit中js连接sqlite3文件型数据库
- Node.js中使用Markdown
- Node.js中使用数据库
- node.js中使用exports
- node.js中使用mongodb
- node.js中npm使用
- 关于node.js中使用json2.js
- js sqlite3使用点滴
- node.js express中使用jquery模板
- Node.Js中使用MongoDB中的MapReduce
- 使用node.js中加载cocos2d-html5
- Node.js中async的简单使用
- node.js中如何使用mongodb数据库
- node.js中mysql的简单使用
- 在Express中使用html (Node.js)
- 谷歌三大技术中文版
- Sharpmap自定义数据源
- 机器学习、数据挖掘、计算机视觉等领域经典书籍推荐
- 嵌入式学习之路(十七)——C语言学习(12)
- MATLAB GUI ,2,使用MATLAB的函数来实现MATLAB GUI,part 2,eval和回调函数
- node.js中使用sqlite3
- Android4.4 MTP在哪里打开
- 统计机器学习理论理解(转
- linux 下查看机器是cpu核数
- 设计模式初探-桥接模式
- android程序安装后点击HOME键重启问题
- hdu_1170 Balloon Comes!(简单题)
- 安装一个UBUNTU的自动启动服务管理sysv-rc-conf
- MATLAB GUI ,2,使用MATLAB的函数来实现MATLAB GUI,part 3,全局变量,计时器和状态机