当前位置: 首页 > news >正文

【Node.js操作SQLite指南】

Node.js操作SQLite指南

在本篇博客中,我们将学习如何在Node.js中操作SQLite数据库。我们将使用sqlite3模块来创建数据库、创建表以及进行数据的增删改查操作。

文章目录

  • Node.js操作SQLite指南
    • 安装sqlite3模块
    • 创建数据库
    • 创建表
    • 数据的增删改查
      • 插入数据
      • 查询数据
      • 更新数据
      • 删除数据
    • 关闭数据库连接

安装sqlite3模块

首先,我们需要安装sqlite3模块。在终端中运行以下命令来安装sqlite3模块:

npm install sqlite3

创建数据库

使用sqlite3模块创建一个数据库连接,并创建一个数据库文件。以下是示例代码:

const sqlite3 = require('sqlite3').verbose();// 创建数据库连接
const db = new sqlite3.Database('mydatabase.db');

创建表

使用SQL语句在数据库中创建表。以下是示例代码:

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

数据的增删改查

使用SQL语句执行数据的增删改查操作。以下是一些示例代码:

插入数据

// 插入数据
db.run(`INSERT INTO users (name, age) VALUES ('John Doe', 25)`);

查询数据

// 查询数据
db.all(`SELECT * FROM users`, (err, rows) => {if (err) {console.error(err);} else {console.log(rows);}
});

更新数据

// 更新数据
db.run(`UPDATE users SET age = 30 WHERE name = 'John Doe'`);

删除数据

// 删除数据
db.run(`DELETE FROM users WHERE name = 'John Doe'`);

关闭数据库连接

在完成数据库操作后,记得关闭数据库连接。以下是示例代码:

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

请注意,上述代码只是一个简单的示例,可以根据实际需求进行更复杂的操作。同时,还可以使用参数化查询来防止SQL注入攻击。

希望本篇博客对有所帮助!如果有任何疑问,请随时提问。
同时,我将上述内容封装为一个名为SQLiteGuide的类,可以在项目中使用该类来操作SQLite数据库。以下是示例代码:

const sqlite3 = require('sqlite3').verbose();class SQLiteGuide {constructor(databaseName) {this.db = new sqlite3.Database(databaseName);}createTable() {this.db.run(`CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,age INTEGER)`);}insertData(name, age) {this.db.run(`INSERT INTO users (name, age) VALUES (?, ?)`, [name, age]);}selectData() {this.db.all(`SELECT * FROM users`, (err, rows) => {if (err) {console.error(err);} else {console.log(rows);}});}updateData(name, newAge) {this.db.run(`UPDATE users SET age = ? WHERE name = ?`, [newAge, name]);}deleteData(name) {this.db.run(`DELETE FROM users WHERE name = ?`, [name]);}closeConnection() {this.db.close();}
}module.exports = SQLiteGuide;

可以将上述代码保存为一个名为SQLiteGuide.js的文件,并在项目中使用该类来操作SQLite数据库。

http://www.lryc.cn/news/165995.html

相关文章:

  • PyTorch之张量的相关操作大全 ->(个人学习记录笔记)
  • ChatGPT生成内容很难脱离标准化,不建议用来写留学文书
  • sqlserver @@ROWCOUNT的使用
  • Hbase批量删除数据
  • 飞行动力学 - 第20节-part2-机翼上反及后掠对横向静稳定性的影响 之 基础点摘要
  • 力扣 -- 1218. 最长定差子序列
  • 【程序员装机】在右键菜单中添加Notepad++选项
  • Scrapy的基本介绍、安装及工作流程
  • CMS 三色标记【JVM调优】
  • 使用 CSS 伪类的attr() 展示 tooltip
  • 在命令窗口便捷快速复制输出结果到剪贴板
  • CUDA小白 - NPP(8) 图像处理 Morphological Operations
  • java获取音频,文本准转语音时长
  • 基于串口通讯的多电机控制技术研究
  • 【深入解读Redis系列】(五)Redis中String的认知误区,详解String数据类型
  • 段指导-示例
  • LeetCode 面试题 04.02. 最小高度树
  • 华为云云耀云服务器L实例评测|初始化centos镜像到安装nginx部署前端vue、react项目
  • python项目制作docker镜像,加装引用模块,部署运行!
  • Redis缓存设计与性能优化
  • 免杀对抗-Python-混淆算法+反序列化-打包生成器-Pyinstall
  • C#__线程池的简单介绍和使用
  • 安全员(岗位职责)
  • unity 使用声网(Agora)实现语音通话
  • vue2.X 中使用 echarts5.4.0实现项目进度甘特图
  • 《PostgreSQL与NoSQL:合作与竞争的关系》
  • 【FAQ】视频监控管理平台/视频汇聚平台EasyCVR安全检查相关问题及解决方法3.0
  • Java 8 新特性解读及应用实践
  • C++项目实战——基于多设计模式下的同步异步日志系统-④-日志系统框架设计
  • 计算机专业毕业设计项目推荐02-个人医疗系统(Java+原生Js+Mysql)