1. 程式人生 > >網站重構——輕量化的網站架構設計一,使用nodejs sqlite3查詢資料

網站重構——輕量化的網站架構設計一,使用nodejs sqlite3查詢資料

http://www.ituring.com.cn/article/72659

終於可以試著開始重寫自己部落格的框架,這又是一個愉快的過程,不再需要去考慮網站被迫關閉幾天的問題,我們想要的結果就是從dev.db中讀取到我們想要的資料,這就是這篇文章所要表達的內容。

nodejs

如果你瞭解過nodejs的話,剩下的就簡單了。

安裝node-sqlite3

 npm install sqlite3

node-sqlite3 api

常用的API大致有下面這些

  • new sqlite3.Database(filename, [mode], [callback])
  • Database#run(sql, [param, ...], [callback])
  • Database#get(sql, [param, ...], [callback])
  • Database#all(sql, [param, ...], [callback])
  • Database#each(sql, [param, ...], [callback], [complete])
  • Database#exec(sql, [callback])
  • Database#prepare(sql, [param, ...], [callback])
  • ...

如官網的示例,我們只需要


db =new sqlite3.Database('chain.sqlite3', createTable);
db.run(
"CREATE TABLE IF NOT EXISTS lorem (info TEXT)", insertRows);var stmt = db.prepare("INSERT INTO lorem VALUES (?)"); db.all("SELECT rowid AS id, info FROM lorem",function(err, rows){}); db.close();

與現有的資料庫工作

資料庫的名字叫

 sqlite3.db

我們需要執行的查詢命令是


SELECT id,content,title,description FROM blog_blogpost

最終程式碼

"use strict";var sqlite3 =require('sqlite3').verbose();var db =new sqlite3.Database('sqlite3.db');function readAllRows(){
    console.log("readAllRows lorem");
    db.all("SELECT id,content,title,description FROM blog_blogpost",function(err, rows){
        rows.forEach(function(row){
            console.log(row.id +": "+ row.title);});
        closeDb();});}function closeDb(){
    console.log("closeDb");
    db.close();}

readAllRows();

執行一下

node sqlite3.js

結果如下所示


readAllRows lorem
1:...215: rhino javascript,用rhino搭建本地的javascript環境216: be a geek 8:無處不在的三劍客217: dip 依賴倒置原則小試218: OO notes 面向物件程式設計筆記
closeDb