Node.js SQLite3
介绍
SQLite是一款轻量级的嵌入式关系型数据库引擎,广泛应用于各种嵌入式设备和移动应用中。而Node.js是一个基于Chrome V8引擎的JavaScript运行环境,能够使JavaScript脚本运行于服务器端。本文将详细介绍如何在Node.js中使用SQLite3模块操作SQLite数据库。
安装SQLite3模块
在开始之前,我们需要在本地环境中安装SQLite3模块。可以通过npm来进行安装,打开终端并执行以下命令:
npm install sqlite3
连接数据库
在使用SQLite3模块之前,我们需要首先连接到SQLite数据库。创建一个名为connect.js
的文件,并添加以下代码:
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database(':memory:', (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the in-memory SQLite database.');
});
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Disconnected from the in-memory SQLite database.');
});
在代码中,我们使用sqlite3
模块创建一个新的SQLite数据库连接,并连接到内存中的数据库。在连接成功后,控制台输出”Connected to the in-memory SQLite database.”。最后,我们通过close
方法断开与数据库的连接,并在控制台输出”Disconnected from the in-memory SQLite database.”。
运行以上代码,可以看到控制台输出正确的连接和断开连接的信息。
创建表格
下一步是创建一个数据库表格。在connect.js
文件中添加以下代码:
db.serialize(() => {
db.run('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)');
});
以上代码使用run
方法创建一个名为users
的表格,并定义了三个列:id
(主键,自增),name
(文本类型),age
(整数类型)。
插入数据
在创建了表格之后,我们可以向表格中插入数据。在connect.js
文件中添加以下代码:
const insertData = (name, age) => {
const stmt = db.prepare('INSERT INTO users (name, age) VALUES (?, ?)');
stmt.run(name, age);
stmt.finalize();
};
insertData('Alice', 25);
insertData('Bob', 30);
以上代码定义了一个名为insertData
的函数,用于向表格中插入数据。然后我们调用两次insertData
函数来插入两条数据:Alice, 25
和Bob, 30
。
查询数据
插入了数据之后,我们可以尝试查询数据。在connect.js
文件中添加以下代码:
const queryData = () => {
const sql = 'SELECT * FROM users';
db.all(sql, [], (err, rows) => {
if (err) {
console.error(err.message);
}
rows.forEach((row) => {
console.log(row.id, row.name, row.age);
});
});
};
queryData();
以上代码定义了一个名为queryData
的函数,用于查询数据库中的数据。我们使用SELECT
语句从users
表格中选择所有的数据,并在控制台输出每条数据的id
、name
和age
。
运行以上代码,可以看到控制台输出两条数据的信息。
更新数据
除了插入和查询数据之外,我们还可以更新数据库中的数据。在connect.js
文件中添加以下代码:
const updateData = () => {
const stmt = db.prepare('UPDATE users SET age = ? WHERE name = ?');
stmt.run(27, 'Alice');
stmt.finalize();
};
updateData();
以上代码定义了一个名为updateData
的函数,用于更新数据库中的数据。我们使用UPDATE
语句将Alice
的年龄更新为27。
删除数据
最后,我们可以尝试删除数据库中的数据。在connect.js
文件中添加以下代码:
const deleteData = () => {
const stmt = db.prepare('DELETE FROM users WHERE name = ?');
stmt.run('Bob');
stmt.finalize();
};
deleteData();
以上代码定义了一个名为deleteData
的函数,用于删除数据库中的数据。我们使用DELETE
语句删除名为Bob
的数据。
总结
本文介绍了如何在Node.js中使用SQLite3模块操作SQLite数据库。我们通过连接数据库、创建表格、插入数据、查询数据、更新数据和删除数据等操作,完整地演示了SQLite3的基本使用。SQLite3是一个简单易用的数据库引擎,适用于各种中小型项目。在实际应用中,可以根据具体需求进一步学习和应用SQLite3。