node-sqlite3 - Asynchronous, non-blocking SQLite3 bindings for node.js 0.2-0.4 (versions 2.0.x), 0.6.13+ and 0.8.x (versions 2.1.x).
Install with npm install sqlite3.
varsqlite3=require('sqlite3').verbose();vardb=newsqlite3.Database(':memory:');db.serialize(function(){db.run("CREATE TABLE lorem (info TEXT)");varstmt=db.prepare("INSERT INTO lorem VALUES (?)");for(vari=0;i<10;i++){stmt.run("Ipsum "+i);}stmt.finalize();db.each("SELECT rowid AS id, info FROM lorem",function(err,row){console.log(row.id+": "+row.info);});});db.close();- Straightforward query and parameter binding interface
- Full Buffer/Blob support
- Extensive debugging support
- Query serialization API
- Extension support
- Big test suite
- Written in modern C++ and tested for memory leaks
See the API documentation in the wiki.
Make sure you have the sources for sqlite3 installed. Mac OS X ships with these by default. If you don't have them installed, install the -dev package with your package manager, e.g. apt-get install libsqlite3-dev for Debian/Ubuntu. Make sure that you have at least libsqlite3 >= 3.6.
Bulding also requires node-gyp to be installed. You can do this with npm:
npm install -g node-gyp
To obtain and build the bindings:
git clone git://github.com/developmentseed/node-sqlite3.git
cd node-sqlite3
./configure
make
You can also use npm to download and install them:
npm install sqlite3
expresso is required to run unit tests.
npm install expresso
make test
- Konstantin Käfer
- Dane Springmeyer
- Will White
- Orlando Vazquez
- Artem Kustikov
- Eric Fredricksen
- John Wright
- Ryan Dahl
- Tom MacWright
- Carter Thaxton
- Audrius Kažukauskas
- Johannes Schauer
Thanks to Orlando Vazquez, Eric Fredricksen and Ryan Dahl for their SQLite bindings for node, and to mraleph on Freenode's #v8 for answering questions.
Development of this module is sponsored by Development Seed.
node-sqlite3 is BSD licensed.