在Node.js中从创建数据库到使用sqlite各项API

本文介绍了如何在Node.js中使用sqlite3模块创建数据库,执行CRUD操作,以及展示了db.run()、db.get()等API的用法。重点在于数据库连接的管理与基本SQL语句操作。
摘要由CSDN通过智能技术生成
  1. 安装 sqlite3 模块
    npm install sqlite3
  2. 创建数据库
    const sqlite3 = require('sqlite3').verbose();
    
    // 创建数据库连接
    let db = new sqlite3.Database('database.db', sqlite3.OPEN_READWRITE, (err) => {
      if (err) {
        console.error(err.message);
        return;
      }
      console.log('Connected to the database.db database.');
    
      // 创建一个新表
      db.run('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)', (err) => {
        if (err) {
          console.error(err.message);
          return;
        }
        console.log('Table "users" created.');
      });
    });
  3. 插入数据

    // 插入数据到 "users" 表
    db.run('INSERT INTO users (name, age) VALUES (?, ?)', ['Alice', 30], (err) => {
      if (err) {
        console.error(err.message);
        return;
      }
      console.log('User inserted successfully.');
    });
  4. 使用 db.get() 查询数据

    // 查询特定用户的数据
    db.get('SELECT * FROM users WHERE id = ?', [1], (err, row) => {
      if (err) {
        console.error(err.message);
        return;
      }
      console.log('User data:', row);
    });

      5. 关闭数据库连接        

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



各项API

  1. db.all():

    • 用于执行 SQL 查询并返回所有结果。它接受 SQL 语句和一个回调函数,回调函数的第二个参数是一个数组,包含了所有查询结果的行。
  2. db.each():

    • 类似于 db.all(),但它允许你遍历查询结果的每一行。它在每一行上调用回调函数,直到没有更多行。
  3. db.prepare():

    • 创建一个预编译的 SQL 语句对象,可以用于执行参数化查询。这有助于提高性能并防止 SQL 注入。
  4. db.exec():

    • 执行 SQL 语句,但不返回查询结果。通常用于执行 INSERTUPDATEDELETE 或 CREATE TABLE 等操作。
  5. db.run():

    • 类似于 db.exec(),但用于执行那些可能返回单个结果的 SQL 语句,如 INSERT 后的 lastID
  6. db.close():

    • 关闭数据库连接。
  7. db.backupDatabase():

    • 创建数据库的备份。
  8. db.pragma():

    • 用于执行 PRAGMA 语句,这些语句用于获取或设置数据库的运行时参数。
  9. db.transaction():

    • 开始一个新的数据库事务。
  10. db.serialize():

    • 在执行一系列数据库操作时,确保它们是顺序执行的。
  • 28
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值