2013年11月18日 星期一

使用 Node.js + SQLite3




SQLite 算是比較輕便型的資料儲存方式,適合開發時的時候使用,但如果是真的 Production 的環境就沒這麼適合。其實我以前沒想過 SQLite 這麼方便,大學還在學 PHP 時看到 SQLite 的章節是直接跳過的,因為當時的公司也沒使用 SQLite :P

SQLite 有以下幾點的特質:

  • 輕薄短小,使用簡單
  • 沒有資料庫的伺服器,它是用檔案或是 memory 的方式儲存
  • 適合開發階段使用,儲存少量資料
  • 帶資料存在硬碟,存取速度稍慢
  • 沒有 user 權限設定的功能,較不適合儲存個人或私密資料



使用 Node.js + SQLite3

1) 初始化專案
npm init

使用 npm init 會開始問你一些問題,通常我都直接按 Enter 讓他用預設的設定,最後產出 package.json 檔案,如果現有的專案已有 package.json,就不需要做初始化的動作。



2) 安裝 SQlite
npm install sqlite3 --save
或是
npm install sqlite3

* 要先安裝 npm , 否則無法下載。
使用 npm install sqlite3 --save 安裝的話會自動幫你在 package.json 的 dependencies 的項目加上 sqlite3 , 通常我都是用這個比較方便。


3) 新增一個 test.db 檔案
用來寫入資料用的 database 檔案。



4) 新增 testdb.js 檔案



5) 跑 testdb.js 這隻檔案

node testdb.js

接著就會看到 log 出來的結果。


需要小心的部分
我剛開始試的時候,一直遇到這個 Error :
Error: SQLITE_ERROR: near "Check": syntax error

後來發現是因為 create table 時出了問題,不曉得是因為我已經建立過才出錯,還是因為根本 table 不存在而出錯,後來加上 IF NOT EXISTS 做為 create table 的判斷就正常了。



參考網址:



沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...