前言
在前端开发中,我们经常需要使用数据存储工具。而 SQLite 是一种轻量级嵌入式数据库,可以用来存储小型数据,最常用的应用是在本地存储浏览器中的应用程序数据。SQLite3-upsert 就是一个 Node.js 中的 SQLite3 数据库操作工具包。
在实际项目中,使用 SQLite3-upsert 可以方便地操作数据库,比较快捷地完成一些数据库相关的操作。本文将详细介绍如何使用 SQLite3-upsert,针对其安装配置、基本使用方法和进阶使用技巧进行讲解,并演示示例代码。
安装与配置
在使用 SQLite3-upsert 之前,需要先安装 Node.js 和 npm,可以到nodejs.org下载安装。
在安装完成之后,打开命令行,输入以下指令安装 SQLite3-upsert:
npm install sqlite3-upsert
安装完成后,需要在项目中引入 sqlite3-upsert:
const sqlite3 = require('sqlite3-upsert');
基本使用方法
在使用 SQLite3-upsert 时,需要连接到 SQLite 数据库。SQLite3-upsert 提供了 new sqlite.Database(file[, mode], [callback])
方法来连接数据库。
其中,file
参数是数据库文件的路径,mode
参数是数据库文件打开方式,默认是 sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE
,表示以读写和创建的方式打开数据库文件。callback
参数是连接成功后的回调函数。
const sqlite3 = require('sqlite3-upsert'); let db = new sqlite3.Database('./test.db', function(err){ if(err){ console.log('连接失败:', err.message); return; } console.log('连接成功'); });
连接成功后,就可以开始执行数据库的操作了。
建立表格
在 SQLite3-upsert 中,建立表格的代码如下:
db.run(`CREATE TABLE IF NOT EXISTS test ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER)`);
插入数据
SQLite3-upsert 支持三种类型的插入数据方法:普通插入、批量插入、带参数插入。
普通插入
let name = 'Lucy', age = 22; db.run("INSERT INTO test(name, age) VALUES(?, ?)", name, age, function(err){ if(err){ console.log('插入数据失败:', err.message); return; } console.log('数据插入成功'); });
批量插入
-- -------------------- ---- ------- --- ------ - - ------- ---- -------- ---- -------- ---- -- ------------------------ --- ---- - ------------------ ---- ---------- ---- --------- ----- ------------------------------- ------------------ ---------- --- ---------------- ------------------------ ---
带参数插入
-- -------------------- ---- ------- --- ---- - ------- ------ ---- ---- ------ ------- ---- ----- ------------------------ --- ---- - ------------------ ---- ---------- ---- --------- ----- ---------------------------- ------------------- ---------- --- ---------------- ---------------------- ---
查询数据
SQLite3-upsert 支持两种类型的查询数据方法:基本查询和带参数查询。
基本查询
db.each("SELECT id, name, age FROM test", function(err, row){ if(err){ console.log('查询数据失败:', err.message); return; } console.log(row.id, row.name, row.age); });
带参数查询
let name = 'Lucy'; db.each("SELECT id, name, age FROM test WHERE name = ?", name, function(err, row){ if(err){ console.log('查询数据失败:', err.message); return; } console.log(row.id, row.name, row.age); });
更新数据
SQLite3-upsert 提供了两种类型的更新数据方法:基本更新和带参数更新。
基本更新
db.run("UPDATE test SET age = 23 WHERE name = 'Lucy'", function(err){ if(err){ console.log('更新数据失败:', err.message); return; } console.log('数据更新成功'); });
带参数更新
let name = 'Lucy', age = 23; db.run("UPDATE test SET age = ? WHERE name = ?", age, name, function(err){ if(err){ console.log('更新数据失败:', err.message); return; } console.log('数据更新成功'); });
删除数据
SQLite3-upsert 提供了两种类型的删除数据方法:基本删除和带参数删除。
基本删除
db.run("DELETE FROM test WHERE age = 22", function(err){ if(err){ console.log('删除数据失败:', err.message); return; } console.log('数据删除成功'); });
带参数删除
let age = 22; db.run("DELETE FROM test WHERE age = ?", age, function(err){ if(err){ console.log('删除数据失败:', err.message); return; } console.log('数据删除成功'); });
进阶使用技巧
SQLite3-upsert 提供了一个 upsert(tableName, row, uniqueKey)
方法,可以直接进行 upsert 操作。
-- -------------------- ---- ------- --- --- - ------ ------- ---- ---- --- --------- - ------- -- -- ---- - ---- ----- ----------------- ---- ---------- -------------- -------- ------------------- ------- ------------- ------- - ------------------- ------- ---
示例代码
下面演示一个完整的 SQLite3-upsert 操作代码:
-- -------------------- ---- ------- ----- ------- - -------------------------- --- -- - --- ----------------------------- -------------- -------- -------------------- ------------- ------- - -------------------- -- ---- -------------- ----- -- --- ------ ---- - -- ------- ------- ---- ---- ----- --- ----------- -- ---- -- ---- --- ----- - ------- ---- - --- -------------- ---- ---------- ---- --------- ---- ------ ----- -------------- -------- ---------------------- ------------- ------- - ---------------------- --- -- ---- --- ------ - - ------- ---- -------- ---- -------- ---- -- ------------------------ --- ---- - ------------------ ---- ---------- ---- --------- ----- ------------------------------- ------------------ ---------- --- ---------------- ------------------------ --- -- ----- --- ---- - ------- ------ ---- ---- ------ ------- ---- ----- ------------------------ --- ---- - ------------------ ---- ---------- ---- --------- ----- ---------------------------- ------------------- ---------- --- ---------------- ---------------------- --- -- ---- -- ---- --------------- --- ----- --- ---- ------ ------------- ----- -------- ---------------------- ------------- ------- - ------------------- --------- --------- --- -- ----- --- ----- - ------- --------------- --- ----- --- ---- ---- ----- ---- - --- ------ ------------- ----- -------- ---------------------- ------------- ------- - ------------------- --------- --------- --- -- ---- -- ---- -------------- ---- --- --- - -- ----- ---- - -------- -------------- -------- ---------------------- ------------- ------- - ---------------------- --- -- ----- --- ----- - ------- ---- - --- -------------- ---- --- --- - - ----- ---- - --- ----- ------ -------------- -------- ---------------------- ------------- ------- - ---------------------- --- -- ---- -- ---- -------------- ---- ---- ----- --- - ---- -------------- -------- ---------------------- ------------- ------- - ---------------------- --- -- ----- --- ---- - --- -------------- ---- ---- ----- --- - --- ----- -------------- -------- ---------------------- ------------- ------- - ---------------------- --- -- ------ -- --- --- - ------ ------- ---- ---- --- --------- - ------- -- -- ---- - ---- ----- ----------------- ---- ---------- -------------- -------- ------------------- ------- ------------- ------- - ------------------- ------- --- ---
总结
SQLite3-upsert 是一个相对成熟的 Node.js 嵌入式数据库操作工具包,拥有一定的使用基础和生态支持,简单易用、功能完善、文档详尽。在项目中使用 SQLite3-upsert 可以方便地完成数据库相关的操作和管理,是前端开发中的一项有益技术。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f291