推荐答案
在 Node.js 中集成 SQLite 可以通过使用 sqlite3 模块来实现。以下是一个简单的示例,展示了如何在 Node.js 中使用 SQLite 数据库:
// www.javascriptcn.com code example
const sqlite3 = require('sqlite3').verbose();
// 打开或创建数据库
let db = new sqlite3.Database('./mydb.sqlite', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the SQLite database.');
});
// 创建表
db.run(`CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER
)`);
// 插入数据
db.run(`INSERT INTO users (name, age) VALUES (?, ?)`, ['Alice', 25], function(err) {
if (err) {
return console.error(err.message);
}
console.log(`A row has been inserted with rowid ${this.lastID}`);
});
// 查询数据
db.all(`SELECT * FROM users`, [], (err, rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row);
});
});
// 关闭数据库连接
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Close the database connection.');
});本题详细解读
1. 安装 sqlite3 模块
首先,你需要在 Node.js 项目中安装 sqlite3 模块。可以通过以下命令进行安装:
npm install sqlite3
2. 连接到 SQLite 数据库
使用 sqlite3.Database 方法可以打开或创建一个 SQLite 数据库。如果数据库文件不存在,SQLite 会自动创建它。
let db = new sqlite3.Database('./mydb.sqlite', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the SQLite database.');
});3. 创建表
使用 db.run 方法可以执行 SQL 语句来创建表。IF NOT EXISTS 可以确保表不存在时才创建。
db.run(`CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER )`);
4. 插入数据
使用 db.run 方法可以插入数据。? 是占位符,用于防止 SQL 注入。
db.run(`INSERT INTO users (name, age) VALUES (?, ?)`, ['Alice', 25], function(err) {
if (err) {
return console.error(err.message);
}
console.log(`A row has been inserted with rowid ${this.lastID}`);
});5. 查询数据
使用 db.all 方法可以查询数据并返回所有结果。rows 是一个包含查询结果的数组。
db.all(`SELECT * FROM users`, [], (err, rows) => {
if (err) {
throw err;
}
rows.forEach((row) => {
console.log(row);
});
});6. 关闭数据库连接
使用 db.close 方法可以关闭数据库连接。
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Close the database connection.');
});通过以上步骤,你可以在 Node.js 中轻松地集成 SQLite 数据库,并进行基本的数据库操作。