是否可以从 JavaScript 访问 SQLite 数据库?

IT技术 javascript html database sqlite
2021-01-26 12:49:19

我有一组 HTML 文件和一个 SQLite 数据库,我想使用 file:// 方案从浏览器访问它们。是否可以使用 JavaScript 访问数据库并创建查询(和表)?

6个回答

其实答案是肯定的。以下是如何执行此操作的示例:http : //html5doctor.com/introducing-web-sql-databases/

不好的是浏览器对它的支持非常有限。

此处的更多信息HTML5 IndexedDB、Web SQL 数据库和浏览器战争

PS:正如@Christoph 所说,Web SQL 不再处于积极维护中,并且 Web 应用程序工作组不打算进一步维护它,因此请查看这里https://developer.mozilla.org/en-US/docs/IndexedDB

SQL.js

编辑

正如@clentfort 所说,您可以使用SQL.js使用客户端 JavaScript 访问 SQLite 数据库

仅供参考,websql 已被放弃...改为推广indexedDB
2021-03-25 12:49:19
你可以使用一些服务器端的东西,或者试试 Node.JS 这个codeforgeek.com/2014/07/node-sqlite-tutorial
2021-04-03 12:49:19
但是是否可以连接到已经存在的数据库?我已经有一堆数据,我想用javascript处理。
2021-04-10 12:49:19

您可以使用SQL.js,它是编译为 JavaScript 的 SQLlite 库,并将数据库存储在 HTML5 中引入的本地存储中。

本地存储非常缓慢且笨拙……您应该改用 indexedDB。尽管如此,我想这是一个可行的解决方案。
2021-03-20 12:49:19
虽然 localstorage 不如 indexedDB 好,但几乎所有地方都支持它。SQL.js 不直接使用 localstorage(它在内存中),因此您只需在启动/关闭时读取/写入 localstorage,您甚至可以将 SQL.js 的状态保存在服务器上。如果您希望用户专门保存更改,则很好,如果用户离开而不保存更改可能会破坏事物,则很糟糕。
2021-03-30 12:49:19

最新的答案

我的 sql.js 分支现在已合并到kriken 的 repo 上的原始版本中

良好的文档也可在原来的回购。

原始答案(过时)

您应该使用较新版本的sql.js它是 sqlite 3.8 的一个端口,有一个很好的文档并且积极维护(由我)。它支持准备好的语句和 BLOB 数据类型。

我可以使用 sql.js 来访问(插入、更新、读取)服务器端的 SQLite 数据库吗?
2021-03-18 12:49:19
@lovasoa 如果我使用 sql.js,是否可以在新计算机上运行我的站点并对其数据库执行 CRUD(db 与 HTML 文件夹存储在同一路径中),而无需进行任何安装?
2021-03-21 12:49:19
@JeafGilbert 不。sql.js 只在内存中运行,没有任何东西是持久化的。如果要在文件系统上编写数据库文件,则必须自己编写该逻辑。
2021-03-24 12:49:19

其中最有趣的功能之一HTML5是能够在本地存储数据并允许应用程序离线运行。有三种不同的 API 可以处理这些功能,选择一种取决于您想要对计划在本地存储的数据做什么:

  1. Web 存储:用于带有键/值对的基本本地存储
  2. 离线存储:使用清单缓存整个文件以供离线使用
  3. Web 数据库:用于关系数据库存储

如需更多参考,请参阅HTML5 存储 API 简介

以及如何使用

http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html

呵呵,看看你的答案的第二次修订,你可以在那里阅读;)
2021-04-07 12:49:19

使用像 PouchDB 这样的东西怎么样?http://pouchdb.com/

换句话说,这应该是评论,而不是答案!
2021-03-29 12:49:19
正如您所看到的,问题的作者拥有sqlite DB,并且您还没有提供用于转换 SQLITE => POUCHDB 的示例和脚本
2021-03-30 12:49:19