推荐答案
在 Node.js 中操作 SQLite 数据库,通常使用 sqlite3 模块。以下是一个简单的示例,展示如何连接数据库、创建表、插入数据、查询数据以及关闭数据库连接。
// 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 模块
首先,你需要安装 sqlite3 模块。可以通过 npm 进行安装:
npm install sqlite3
2. 连接数据库
使用 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() 方法查询数据。db.all() 返回所有匹配的行。
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 数据库。