Node.js与SQLite数据库

2024年09月18日 Node js与SQLite数据库 极客笔记

Node.js与SQLite数据库

SQLite是一种轻量级的关系型数据库管理系统,广泛用于移动应用程序和嵌入式设备上,其主要特点包括零配置、自包含、支持事务化等。Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,能够使JavaScript在服务器端运行,提供了丰富的模块以便开发人员编写高效的服务器端代码。在本文中,我们将详细介绍如何在Node.js中使用SQLite数据库。

安装SQLite

首先,我们需要安装SQLite数据库。可以通过以下链接下载SQLite的预编译二进制包:SQLite Download。根据您的操作系统选择合适的版本进行下载并安装。在安装完成后,您可以通过命令行输入sqlite3来验证安装是否成功。

使用Node.js连接SQLite数据库

要在Node.js中使用SQLite数据库,我们需要先安装SQLite3模块。可以通过以下命令来安装:

npm install sqlite3

接着,我们需要在Node.js中创建一个连接SQLite数据库的代码示例。以下是一个简单的示例:

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database(':memory:');

db.serialize(() => {
  db.run("CREATE TABLE lorem (info TEXT)");

  const stmt = db.prepare("INSERT INTO lorem VALUES (?)");
  for (let i = 0; i < 10; i++) {
      stmt.run("Ipsum " + i);
  }
  stmt.finalize();

  db.each("SELECT rowid AS id, info FROM lorem", (err, row) => {
      console.log(row.id + ": " + row.info);
  });
});

db.close();

在这个代码示例中,我们首先引入了sqlite3模块,并创建了一个内存中的SQLite数据库实例。然后,我们使用db.serialize()来执行一系列的SQLite数据库操作:创建表格、插入数据、查询数据并输出。最后,我们关闭了数据库连接。

运行以上代码示例,您将看到输出的结果为:

1: Ipsum 0
2: Ipsum 1
3: Ipsum 2
4: Ipsum 3
5: Ipsum 4
6: Ipsum 5
7: Ipsum 6
8: Ipsum 7
9: Ipsum 8
10: Ipsum 9

执行SQL查询

在SQLite中执行SQL查询非常简单,我们可以使用db.all()方法来执行SQL查询并获取结果。以下是一个示例:

db.all("SELECT * FROM lorem", (err, rows) => {
    rows.forEach((row) => {
        console.log(row.info);
    });
});

在这个示例中,我们执行了一个简单的查询语句来获取lorem表中的所有记录,并输出每条记录的info字段。

使用SQLite事务

SQLite支持事务的特性,我们可以将一系列的数据库操作组合在一个事务中,以避免数据的不一致性。以下是一个使用事务的示例:

db.serialize(() => {
    db.run("BEGIN TRANSACTION");

    // 在事务中执行一系列操作
    db.run("INSERT INTO lorem VALUES ('Transaction test')");
    db.run("DELETE FROM lorem WHERE rowid = 1");

    // 提交事务
    db.run("COMMIT");
});

在这个示例中,我们使用BEGIN TRANSACTION开始了一个事务,在事务中进行了插入和删除操作,最后使用COMMIT提交了事务。

使用参数化查询

为了避免SQL注入攻击,我们应该使用参数化查询来执行SQL查询。以下是一个简单的示例:

const stmt = db.prepare("INSERT INTO lorem VALUES (?)");
stmt.run("Parameterized query");
stmt.finalize();

在这个示例中,我们使用?占位符来表示参数,然后使用stmt.run()方法来传递参数。

总结

本文详细介绍了如何在Node.js中连接和操作SQLite数据库。通过安装SQLite3模块并编写相关的代码,我们可以轻松地实现在Node.js中对SQLite数据库进行增删改查操作。同时,我们还介绍了如何使用事务和参数化查询,以确保数据库操作的安全性和可靠性。

本文链接:http://so.lmcjl.com/news/13345/

展开阅读全文