node-sqlite3 文檔


node-sqlite3 文檔

參考自: API · mapbox/node-sqlite3 Wiki · GitHub

Main

new sqlite3.Database(filename, [mode], [callback])

返回一個新的數據庫對象並自動打開數據庫,

  • filename 數據庫文件名

sqlite3.verbose()

Database

Database#close([callback])

關閉數據庫

Database#configure(option, value)

Database#run(sql, [param, ...], [callback])

執行帶特定參數的SQL語句,然后調用回調函數。

返回:數據庫對象,允許鏈式調用。

  • sql sql 語句

  • [param,...] sql 語句的參數
    三種綁定參數的方法:

// Directly in the function arguments.
db.run("UPDATE tbl SET name = ? WHERE id = ?", "bar", 2);

// As an array.
db.run("UPDATE tbl SET name = ? WHERE id = ?", [ "bar", 2 ]);

// As an object with named parameters.
db.run("UPDATE tbl SET name = $name WHERE id = $id", {
    $id: 2,
    $name: "bar"
});
  • [callback] 在發生錯誤時調用的回調函數
    • 如果發生錯誤,回調的參數為 [error object] 包括 [error message]

    • 如果執行成功,回調的參數為 null,函數內的 this 為 [statement object]

    • 執行成功時, this 對象包含以下兩個屬性

      • lastID: 最后插入行的 id,僅為 INSERT 執行成功的結果
      • changes: 受查詢語句影響的行數,僅為 UPDATE or DELETE 執行成功的結果
      • 注:僅有 .run() 方法中有這兩個屬性,其他情況不可用

Database#get(sql, [param, ...], [callback])

執行帶特定參數的SQL語句,然后調用回調函數返回結果的第一行。
返回:數據庫對象,允許鏈式調用。

參數同 Database#run ,不同之處是

  • callback function(err, row) {}
    • 如果查詢結果是空 row 為 undefined
    • 否則 row 為一個對象,其屬性名為數據庫表的列名

Database#all(sql, [param, ...], [callback])

執行帶特定參數的SQL語句,然后調用回調函數返回所有結果。
返回:數據庫對象,允許鏈式調用。

參數同 Database#run ,不同之處是

  • callback function(err, rows) {} , rows 為數組
    • 如果查詢結果是空 row 為 []
    • 否則 rows 為對象的數組,其屬性名為數據庫表的列名

注: all() 方法將會查詢全部結果,並保存在內存中,當查詢結果可能很多時,建議使用 Database#each 獲取所有數據 或 Database#prepare 接着多次使用 Statement#get 獲取多行數據。

Database#each(sql, [param, ...], [callback], [complete])

執行帶特定參數的SQL語句,然后每行調用一次回調函數。
返回:數據庫對象,允許鏈式調用。

參數同 Database#run ,不同之處是

  • callback function(err, each_row) {}

    • 如果查詢成功但結果為空,回調不會被調用
    • 其他情況,查詢結果有多少行,回調將會調用多少次
  • complete 當回調 callback 全部調用完成后執行,
    function(err,num_of_rows){ }

  • 如果參數只傳入一個函數,此函數將作為 callback 回調

  • 如果參數傳入兩個函數,此函數將作為 [callback, complete] 兩個回調

Database#exec(sql, [callback])

執行所支持的各種sql語句,但不會獲得任何結果,
返回:數據庫對象,允許鏈式調用。

Database#prepare(sql, [param, ...], [callback])

預備執行 sql
返回:[Statement object]

Statement

Statement#bind([param, ...], [callback])

Statement#reset([callback])

Statement#finalize([callback])

Statement#run([param, ...], [callback])

Statement#get([param, ...], [callback])

Statement#all([param, ...], [callback])

Statement#each([param, ...], [callback], [complete])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM