一、簡介
Node.js是一個基於Chrome JavaScript運行時建立的平台,它提供了一種主要用於服務器端的運行語言。Sqlite是一個使用C語言編寫的輕型關係型數據庫,它適用於嵌入式設備以及那些需要一個本地存儲的應用場景。這篇文章將會介紹如何使用nodesqlite3模塊將Sqlite集成到Node.js中,以及如何使用該模塊提供的API對Sqlite數據庫進行操作。
二、安裝nodesqlite3
要在Node.js中使用sqlite3,需要先安裝nodesqlite3模塊。可以使用npm包管理器來安裝:
npm install sqlite3
或者是在Node.js項目的package.json文件中添加依賴:
{
"dependencies": {
"sqlite3": "^5.0.0"
}
}
三、連接到數據庫
在使用nodesqlite3之前,需要先連接到一個Sqlite數據庫。可以使用下面的代碼示例連接到一個名為test.db的數據庫:
const sqlite3 = require('sqlite3').verbose();
// 打開數據庫連接
let db = new sqlite3.Database('./test.db', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the test database.');
});
在這個示例中,我們先引入了sqlite3模塊,然後使用Database對象中的構造函數來創建一個數據庫連接。連接的參數為數據庫的路徑。如果連接成功,將會輸出”Connected to the test database.”,否則將會輸出錯誤信息。
四、執行SQL語句
連接到數據庫之後,就可以執行SQL語句來對數據庫進行操作了。可以使用Database對象中的run()方法來執行SQL語句,例如下面的代碼示例:
// 執行SQL語句
db.run(`CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL
)`, (err) => {
if (err) {
console.error(err.message);
}
console.log('Table users created.');
});
在這個示例中,我們創建了一個名為users的表。如果執行成功,將會輸出”Table users created.”,否則將會輸出錯誤信息。
五、查詢數據
除了執行SQL語句之外,還可以使用Database對象中的all()方法查詢數據庫中的數據。例如下面的代碼示例將會查詢users表中的所有記錄:
// 查詢數據
db.all(`SELECT * FROM users`, (err, rows) => {
if (err) {
console.error(err.message);
}
rows.forEach((row) => {
console.log(row.id, row.username, row.password);
});
});
在這個示例中,我們查詢了users表中的所有記錄,並且使用forEach()方法遍歷查詢結果並輸出每一行數據。
六、更新數據
在nodesqlite3中更新數據可以使用Database對象中的run()方法,例如下面的代碼示例將會更新users表中id為1的記錄的密碼:
// 更新數據
db.run(`UPDATE users SET password = ? WHERE id = ?`,
['newpassword', 1],
(err) => {
if (err) {
console.error(err.message);
}
console.log('Password updated.');
});
在這個示例中,我們使用了?佔位符來表示更新數據時傳入的參數,這可以防止SQL注入攻擊。
七、刪除數據
在nodesqlite3中刪除數據可以使用Database對象中的run()方法,注意刪除操作的sql語句,例如下面的代碼示例將會刪除users表中id為1的記錄:
// 刪除數據
db.run(`DELETE FROM users WHERE id = ?`, 1, (err) => {
if (err) {
console.error(err.message);
}
console.log('Record deleted.');
});
八、關閉數據庫連接
在完成對數據庫的操作後,需要調用Database對象中的close()方法來關閉數據庫連接,例如下面的代碼示例:
// 關閉數據庫連接
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Close the database connection.');
});
九、總結
本文介紹了如何使用nodesqlite3模塊將Sqlite集成到Node.js中,並且使用該模塊提供的API對Sqlite數據庫進行了操作。包括連接到數據庫、執行SQL語句、查詢數據、更新數據、刪除數據、關閉數據庫連接等方面的內容。通過學習本文,我們可以了解如何在Node.js中使用Sqlite數據庫。
原創文章,作者:LKFM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/133639.html