什么是 sql.js?
sql.js 是一个 JavaScript 实现的 SQLite 数据库。它可以让我们在浏览器环境下使用 SQLite 而无需安装任何软件或插件,同时也可以在 Node.js 的环境下使用,可以轻松地将 sqlite 文件转换为在浏览器或 Node.js 上的 sql.js 文件。
使用 sql.js 的好处是什么?
- 可以在浏览器环境下运行包含有 SQL 语句的代码,而不需要任何服务器的支持。
- 可以进行本地的储存,不需要像 localStorage 这样只能存储字符串,sql.js 可以存储复杂数据类型。
- 可以进行轻量的数据库操作,不需要像 MySQL 和 PostgreSQL 这样需要在后端创建和连接数据库,sql.js 只需要本地一个文件就可以完成这个任务。
安装和引入 sql.js
使用 npm 安装 sql.js:
npm install sql.js
在文件中引入 sql.js:
import * as SQL from 'sql.js';
基本操作
创建数据库
我们需要先创建一个数据库(这里我们假设要创建一个名为 example 的数据库),应该如何做呢?
const db = new SQL.Database(); // 创建一个空数据库 const dbContent = db.export(); // 将空数据库导出为 Uint8Array 对象 const blob = new Blob([dbContent], { type: 'application/octet-stream' }); // 将 Uint8Array 对象转换为 Blob 对象 const url = URL.createObjectURL(blob); // 将 Blob 对象转换为 URL
现在,我们得到了一个数据文件 example.sqlite,我们可以将它保存到本地磁盘中,以便将来使用它。
创建表
有了数据库,我们还需要在数据库中创建表来存储数据,将数据分类存储到不同的表中。我们将创建一个名为 notes 的表来存储笔记。
const stmt = db.prepare('CREATE TABLE notes (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, content TEXT);'); // 创建一个 SQL 语句 stmt.run(); // 执行 SQL 语句
插入数据
有了表,我们还需要把我们想要存储的数据插入到表中。
const title = 'Note 1'; const content = 'This is the first note.'; const stmt = db.prepare('INSERT INTO notes (title, content) VALUES (?, ?)'); stmt.run([title, content]); // 插入一条数据
查询数据
当然,在从表中检索数据时,我们需要使用 SELECT 语句。
const stmt = db.prepare('SELECT * FROM notes'); // SELECT 语句 const results = stmt.getAsObject(); // 将查询结果转换为 JavaScript 对象 console.log(results);
示例代码
-- -------------------- ---- ------- ------ - -- --- ---- --------- -- -------- ----- -- - --- --------------- ----- --------- - ------------ -- -------- ---------- -- ----- ---- - --- ----------------- - ----- -------------------------- --- -- - ---------- ----- ---- -- ----- --- - -------------------------- -- - ---- ----- --- -- ---- ----- ------- ----- ---- - ------------------ ----- ----- --- ------- ------- --- -------------- ----- ----- ------- --------- ----------- -- ------ ----- ----- - ----- --- ----- ------- - ----- -- --- ----- ------- ----- ---- - ------------------ ---- ----- ------- -------- ------ --- ----- ---------------- ---------- -- ---- ----- ---- - ------------------ - ---- -------- ----- ------- - ------------------- ---------------------
总结
以上就是 npm 包 sqljs 的使用教程,我们可以通过 sql.js 来轻松地实现浏览器、Node.js 的本地存储与数据库操作。具体的代码实现也非常简单,只需要掌握 SQL 语句和 sql.js 常用 API 即可。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a78ccae46eb111f2ba