📅  最后修改于: 2023-12-03 15:38:05.264000             🧑  作者: Mango
在开发中,我们常常需要对数据库进行读写操作。Node.js 作为一门服务器端语言,支持许多数据库,其中包括轻量级的 SQLite 数据库。SQLite 是一款流行的嵌入式数据库,由于其轻量、快速的特点,广泛应用于移动设备和桌面应用程序中。
在本文中,我们将介绍如何使用 Node.js 连接 SQLite 数据库,并完成增删改查等基本操作。
在使用 SQLite 数据库前,我们需要先安装 sqlite3 依赖包。可以通过 NPM 在终端中执行以下命令进行安装:
npm install sqlite3 --save
在使用 SQLite 数据库前,我们需要先创建一个 SQLite 数据库文件,以 .db
结尾的文件名即可。接着,我们可以使用 sqlite3
模块中的 Database
类进行连接。
const sqlite3 = require('sqlite3').verbose();
const DB_PATH = './mydatabase.db';
const db = new sqlite3.Database(DB_PATH, err => {
if (err) {
console.error(err.message);
}
console.log('Connected to the database.');
});
Database
类接受一个必选的参数 DB_PATH
,该参数指定 SQLite 数据库文件所在路径。verbose()
方法使模块输出更多信息,便于调试。连接成功后,我们可以在回调函数中执行查询操作。
我们可以使用 Database
类的 all
方法执行 SQL 查询语句,并将查询结果以数组形式返回。
const sql = `SELECT * FROM mytable`;
db.all(sql, [], (err, rows) => {
if (err) {
console.error(err.message);
}
rows.forEach(row => {
console.log(row);
});
});
all
方法的第一个参数 sql
是 SQL 语句,支持标准的 SQL 语法。all
方法的第二个参数是可选参数,表示 SQL 查询语句中的占位符,用于防止 SQL 注入攻击。执行 SQL 语句后返回的数据为数组,我们可以使用 forEach
方法打印每一行数据。
我们可以使用 Database
类的 run
方法执行 SQL 插入语句,并返回插入数据的 ID。
const sql = `INSERT INTO mytable (name, age) VALUES (?, ?)`;
const name = '张三';
const age = 18;
db.run(sql, [name, age], function(err) {
if (err) {
console.error(err.message);
}
console.log(`Rows inserted ${this.changes}`);
console.log(`Last inserted ID: ${this.lastID}`);
});
run
方法的第一个参数 sql
是 SQL 语句,支持标准的 SQL 语法。run
方法的第二个参数是可选参数,表示 SQL 插入语句中的占位符,用于防止 SQL 注入攻击。this.lastID
属性返回插入数据的 ID。我们可以使用 Database
类的 run
方法执行 SQL 更新语句,并返回受影响的行数。
const sql = `UPDATE mytable SET age = ? WHERE name = ?`;
const age = 20;
const name = '张三';
db.run(sql, [age, name], function(err) {
if (err) {
console.error(err.message);
}
console.log(`Rows updated ${this.changes}`);
});
run
方法的第一个参数 sql
是 SQL 语句,支持标准的 SQL 语法。run
方法的第二个参数是可选参数,表示 SQL 更新语句中的占位符,用于防止 SQL 注入攻击。this.changes
属性返回受影响的行数。我们可以使用 Database
类的 run
方法执行 SQL 删除语句,并返回受影响的行数。
const sql = `DELETE FROM mytable WHERE name = ?`;
const name = '张三';
db.run(sql, [name], function(err) {
if (err) {
console.error(err.message);
}
console.log(`Rows deleted ${this.changes}`);
});
run
方法的第一个参数 sql
是 SQL 语句,支持标准的 SQL 语法。run
方法的第二个参数是可选参数,表示 SQL 删除语句中的占位符,用于防止 SQL 注入攻击。this.changes
属性返回受影响的行数。在完成所有操作后,我们需要关闭数据库连接。
db.close(err => {
if (err) {
console.error(err.message);
}
console.log('Closed the database connection.');
});
本篇文章介绍了如何使用 Node.js 连接 SQLite 数据库,并完成基本的增删改查等操作。
使用 SQLite 数据库有其优点,如易于使用、轻量级、快速等,如果您需要在 Node.js 项目中使用数据库,可以尝试使用此种数据库。
完整代码请见 Github。
以上就是本文关于如何使用 Node.js 连接 SQLite 数据库的详细介绍,希望对您有所帮助。