node の SQLite

举报
空城机 发表于 2022/07/06 09:30:49 2022/07/06
【摘要】 在之前,我曾经使用electron开发过一个番茄钟应用,当时的应用数据存储是在JSON文件当中,现在使用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的命令和语句

写入查询表格命令:

-- SQLite
select * from worker

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


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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。