写点什么

node の SQLite

作者:空城机
  • 2022 年 7 月 06 日
  • 本文字数:1444 字

    阅读完需:约 5 分钟

node の SQLite

node 操作 SQLite

之前在做 electron 桌面制作番茄钟应用时曾经想过用数据库存储数据,一开始打算mongodb,但是发现不能实现无服务器,那么只能使用SQLite了。


介绍:SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制


现在先让我们尝试使用 node 来操作SQLite

安装 sqlite3 库

从前面的介绍当中,可以知道,sqlite 是免安装的数据库,所以这里使用数据库就只需要添加一个nodesqlite3库就可以了。


安装命令:yarn add sqlite3 -D



创建 sqlite 数据库

当前的 node 项目地址中并没有 sqlite 数据库,所以可以通过命令先创建一个数据库,这里使用new sqlite3.Database来连接数据库,如果当前没有,会自动创建一个数据库,并且不同于之前操作mongodb,不用再创建一个集合。

const path = require('path');const sqlite3 = require('sqlite3');
function SQLiteInit() { let rootPath = path.join(__dirname, '../sqlite3.db');
let db = new sqlite3.Database(rootPath, (err)=>{ if (err) throw err; console.log('数据库连接') })}
复制代码


效果:


创建表格并插入数据

有了数据库之后,就需要创建一个数据库表格了


可以创建一个 sql 语句执行方法,此方法可以通过db.run方法来运行数据 sql 语句

// 执行sql语句function runSQL(sqlstr) {    db.serialize(()=>{        db.run(sqlstr);    })}
复制代码


创建数据表 worker

let db = null;function SQLiteInit() {    // 连接数据库    let rootPath = path.join(__dirname, '../sqlite3.db');    db = new sqlite3.Database(rootPath)    // 创建表格    runSQL(`        create table worker         (            name text not null,            age int not null,            hobby text not null        );    `)    // 关闭连接    db.close();}
复制代码


现在数据库表格 worker 已经存在了。


接下来的操作就是在表中插入数据了,这里可以使用db.run来一次性插入,也可以通过prepare来分步插入。


let doc = [{        name: '张三',        age: 18,        hobby: '打李四',    },    {        name: '李四',        age: 18,        hobby: '打王五',    },    {        name: '王五',        age: 18,        hobby: '打张三',    },]let insertInfo = db.prepare('insert into worker (name, age, hobby) values (?, ?, ?)')doc.forEach((item)=>{    insertInfo.run(item.name, item.age, item.hobby);})insertInfo.finalize();
复制代码


现在数据也已经插入到数据库当中了



vs codesqlite插件

对于数据库,最好使用可视化界面去操作,一般对sqlite都是推荐用 navicate http://www.navicat.com.cn/


不过我这里为了操作快捷,就不用了,在vs code当中,也存在插件可以对sqlite数据库进行简单的操作。插件的名称就叫做 SQLite


安装完插件之后,如果想要打开之前创建的sqlite3.db数据库,需要使用Ctrl+Shift+P打开命令面板,然后输入sqlite,找到Open Database选项打开。


这样在左侧资源管理器界面中会出现SQLITE EXPLORER


这里可以查看之前创建的sqlite3.db数据库中的表格,在右侧选择创建New Query


会创建一个.sql文件用于执行 sql 的命令和语句


写入查询表格命令:

-- SQLiteselect * from worker
复制代码


鼠标右键选择数据库并运行此 query





接下来对于数据的查询、删除和更新操作其实都与插入类似,其实主要就是在于 sqlite 语句的编写,这里就不详细写了

发布于: 刚刚阅读数: 4
用户头像

空城机

关注

曾经沧海难为水,只是当时已惘然 2021.03.22 加入

业余作者,在线水文 主要干前端的活,业余会学学python 欢迎各位关注,互相学习,互相进步

评论

发布
暂无评论
node の SQLite_sqlite_空城机_InfoQ写作社区