Nodejs SQLite数据库操作插件sqlite3的使用

Nodejs SQLite数据库操作插件sqlite3的使用
sqlite3 是 Node.js 中用于与 SQLite 数据库进行交互的一个流行模块。下面我将详细介绍如何安装和使用 sqlite3 模块。

1. 安装

首先,你需要在你的项目中安装 sqlite3。你可以通过 npm 来安装:

npm install sqlite3

2. 基本使用

接下来,我们将创建一个简单的示例来演示如何连接到 SQLite 数据库、创建表、插入数据以及查询数据。

创建数据库和表

const sqlite3 = require('sqlite3').verbose();

// 打开数据库
let db = new sqlite3.Database(':memory:', (err) => {
    if (err) {
        return console.error(err.message);
    }
    console.log('Connected to the in-memory SQlite database.');
});

// 创建一个新表
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) => {
    if (err) {
        return console.error(err.message);
    }
    console.log(row.id + ": " + row.info);
});

// 关闭数据库连接
db.close((err) => {
    if (err) {
        return console.error(err.message);
    }
    console.log('Close the database connection.');
});

3. 处理异步操作

在实际应用中,你可能需要处理更复杂的异步操作。sqlite3 提供了多种方法来处理这些情况,包括回调函数、Promises 和 async/await。

使用 Promises

const sqlite3 = require('sqlite3').verbose();

let db = new sqlite3.Database(':memory:', { mode: sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE }, (err) => {
    if (err) throw err;
    console.log('Connected to the in-memory SQlite database.');
});

async function runQuery() {
    try {
        await new Promise((resolve, reject) => {
            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();
                resolve();
            });
        });

        let rows = await new Promise((resolve, reject) => {
            db.all("SELECT rowid AS id, info FROM lorem", (err, rows) => {
                if (err) return reject(err);
                resolve(rows);
            });
        });

        rows.forEach(row => console.log(row.id + ": " + row.info));

        db.close();
    } catch (error) {
        console.error(error);
    }
}

runQuery();

以上就是使用 sqlite3 模块的基本步骤。你可以根据自己的需求调整和扩展这些代码。希望这对你有所帮助!


3 回复

当然!Node.js中操作SQLite数据库最常用的库是sqlite3。首先,你需要安装它:

npm install sqlite3

接下来,让我们来创建一个简单的例子,展示如何连接数据库、执行查询和插入数据。

const sqlite3 = require('sqlite3').verbose();

// 打开或创建数据库文件
let db = new sqlite3.Database('./mydb.sqlite', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the mydb database.');
});

// 创建表
db.run(`CREATE TABLE IF NOT EXISTS employees (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  age INT NOT NULL
)`);

// 插入数据
const insertSql = 'INSERT INTO employees (name, age) VALUES (?, ?)';
db.run(insertSql, ['Alice', 30], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`A row has been inserted with rowid ${this.lastID}`);
});

// 查询数据
db.all("SELECT * FROM employees", [], (err, rows) => {
  if (err) {
    throw err;
  }
  rows.forEach((row) => {
    console.log(row.name + " is " + row.age + " years old.");
  });
});

// 关闭数据库连接
db.close((err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Close the database connection.');
});

这段代码展示了如何创建数据库、表,插入数据以及查询数据。希望这对你有帮助!


sqlite3 是 Node.js 中一个非常流行的库,用于与 SQLite 数据库进行交互。以下是如何安装和基本使用 sqlite3 的步骤和示例代码。

安装

首先,你需要安装 sqlite3 模块。你可以通过 npm 来安装:

npm install sqlite3

基本使用

1. 连接到数据库

如果你要连接的数据库不存在,sqlite3 会自动创建它。

const sqlite3 = require('sqlite3').verbose();

// 打开一个数据库文件(如果不存在,则会创建)
let db = new sqlite3.Database('./mydb.sqlite', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the mydb database.');
});

2. 创建表

db.run(`CREATE TABLE IF NOT EXISTS employees (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  age INTEGER,
  address TEXT
)`, (err) => {
  if (err) {
    return console.error(err.message);
  }
  console.log('Created table');
});

3. 插入数据

db.run("INSERT INTO employees (name, age, address) VALUES (?, ?, ?)", ["John Doe", 45, "123 Anywhere St"], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`A row has been inserted with rowid ${this.lastID}`);
});

4. 查询数据

db.all("SELECT * FROM employees", [], (err, rows) => {
  if (err) {
    throw err;
  }

  rows.forEach((row) => {
    console.log(row.id + ": " + row.name + ", " + row.age + ", " + row.address);
  });
});

5. 更新数据

db.run("UPDATE employees SET age = ? WHERE name = ?", [50, "John Doe"], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`Updated ${this.changes} row(s).`);
});

6. 删除数据

db.run("DELETE FROM employees WHERE name = ?", ["John Doe"], function(err) {
  if (err) {
    return console.error(err.message);
  }
  console.log(`${this.changes} row(s) deleted.`);
});

7. 关闭数据库连接

db.close((err) => {
  if (err) {
    return console.error(err.message);
  }
  console.log('Close the database connection.');
});

以上就是使用 sqlite3 在 Node.js 中进行基本数据库操作的示例。希望这些代码对你有所帮助!

sqlite3 是 Node.js 中用于操作 SQLite 数据库的一个流行模块。首先,你需要通过npm安装它:

npm install sqlite3

然后你可以开始基本的数据库操作,例如:

创建连接:

const sqlite3 = require('sqlite3').verbose();
let db = new sqlite3.Database(':memory:'); // 使用内存数据库作为示例

执行SQL命令:

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

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

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

最后,不要忘记关闭数据库连接:

db.close();

以上是 sqlite3 的基本使用方法。

回到顶部