答答问 > 投稿 > 正文
【解锁SQLite与Node.js高效数据交互】轻松实现数据库操作与项目整合

作者:用户PPGA 更新时间:2025-06-09 04:15:58 阅读时间: 2分钟

SQLite作为一种轻量级的数据库管理系统,因其小巧、易于使用和跨平台的特点,在Node.js项目中得到了广泛应用。本文将详细介绍如何在Node.js中操作SQLite数据库,包括安装、连接、查询以及项目整合等方面的内容。

1. 安装SQLite3模块

首先,您需要在Node.js项目中安装sqlite3模块。可以使用npm(Node.js包管理器)来安装:

npm install sqlite3

安装完成后,您就可以在项目中使用sqlite3模块了。

2. 连接SQLite数据库

使用sqlite3模块连接SQLite数据库非常简单。以下是一个基本的连接示例:

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

db.serialize(() => {
  db.run("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)");
});

db.close();

在这个例子中,我们首先引入了sqlite3模块,然后创建了一个新的数据库连接对象。serialize方法用于确保SQL语句按顺序执行,run方法用于执行创建表的SQL语句。最后,我们调用close方法关闭数据库连接。

3. 执行SQL查询

连接到数据库后,您可以使用sqlite3模块提供的API执行各种SQL查询。以下是一些常见的查询示例:

3.1 插入数据

db.run("INSERT INTO users (name, email) VALUES (?, ?)", ['Alice', 'alice@example.com'], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log("A row has been inserted with rowid "+this.lastID);
});

3.2 查询数据

db.all("SELECT rowid AS id, name, email FROM users", [], (err, rows) => {
  if (err) {
    throw err;
  }
  rows.forEach((row) => {
    console.log(`${row.id}: ${row.name}, ${row.email}`);
  });
});

3.3 更新数据

db.run("UPDATE users SET email = ? WHERE name = ?", ['alice_new@example.com', 'Alice'], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`Row(s) updated: ${this.changes}`);
});

3.4 删除数据

db.run("DELETE FROM users WHERE name = ?", ['Alice'], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`Row(s) deleted: ${this.changes}`);
});

4. 项目整合

在Node.js项目中整合SQLite数据库操作,可以通过以下步骤实现:

  1. 在项目中引入sqlite3模块。
  2. 创建数据库连接。
  3. 根据业务需求编写相应的数据库操作代码。
  4. 在应用退出或不再需要数据库连接时,关闭数据库连接。

以下是一个简单的Node.js项目示例,展示了如何整合SQLite数据库:

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

// 创建数据库表
db.serialize(() => {
  db.run("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)");
});

// 添加用户
const addUser = (name, email) => {
  db.run("INSERT INTO users (name, email) VALUES (?, ?)", [name, email], (err) => {
    if (err) {
      return console.error(err.message);
    }
    console.log("A row has been inserted with rowid "+this.lastID);
  });
};

// 查询用户
const queryUser = (id) => {
  db.get("SELECT * FROM users WHERE id = ?", [id], (err, row) => {
    if (err) {
      return console.error(err.message);
    }
    console.log(`User: ${row.name}, ${row.email}`);
  });
};

// 关闭数据库连接
db.close();

通过以上步骤,您可以在Node.js项目中轻松实现与SQLite数据库的高效数据交互。

大家都在看
发布时间:2024-12-10 07:55
受《深圳市轨道交通规划(2012-2040年)》曝光的影响,地铁物业价值持续攀升,成为众多置业者和投资者的首选,记者近日在采访中了解到,部分地铁沿线物业近一年来升值幅度较大,个别物业与一年前相比上涨甚至超过4成。不少开发商打起了“地铁概念房。
发布时间:2024-10-29 18:09
五丝唐 褚朝阳越人传楚俗,截竹竞萦丝。水底深休也,日中还贺之。章施文胜质,列匹美于姬。锦绣侔新段,羔羊寝旧诗。但夸端午节,谁荐屈原祠。把酒时伸奠,汨罗空远而。端午日赐衣。
发布时间:2024-12-14 06:39
目前通车的只有3号线一条,其余的1-2号施工中,另外有10余条规划中,随着城市的发展,地铁线路将越来越多,规划也将随时变化,所以最多有几条是不确定的。。