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

问题描述 投票:0回答:8

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

javascript html database sqlite
8个回答
56
投票

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

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

更多信息请点击这里HTML5 IndexedDB、Web SQL 数据库和浏览器大战

PS:正如 @Christoph 所说 Web SQL 不再处于主动维护状态,并且 Web 应用程序工作组不打算进一步维护它,所以请看这里 https://developer.mozilla.org/en-US/docs/索引数据库.

SQL.js

编辑

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


48
投票

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


21
投票

最新答案

我的 sql.js 分支现在已合并到原始版本,在一个专用的存储库上

原始存储库中也提供了良好的文档

原始答案(已过时)

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


5
投票

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

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

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

以及如何使用

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


2
投票

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


0
投票

SQLite Wasm

现在可以使用 npm 库直接在网络上本机使用 SQLite

npm install @sqlite.org/sqlite-wasm
npm 链接)。

SQLite 客户端

无耻的插件,如果你不想自己和工人打交道, 我创建了这个包装器库来封装与工作人员的通信:

npm install @magieno/sqlite-client
npm 链接


-5
投票

最好用python和flask来编码。如果您将 WebSQL 与 JavaScript 一起使用,那么它只会保存单个窗口的数据,而不是全球范围内的数据,因为它是浏览器 cookie。 Flask是一个Python Web服务器,一旦你用它制作了一个页面,你就可以导入sqlite3。另一种方法是使用 php,但要点是使用 JavaScript 是一个坏主意。

附注其实你可以尝试使用loaclStorage我听说它可以保存数据,只要你想保存它。


-6
投票

恕我直言,最好的方法是通过 AJAX 使用 POST 调用 Python,并在 Python 中对数据库执行所需的所有操作,然后将结果返回给 javascript。 Python 中的 json 和 sqlite 支持非常棒,即使是较新的 Python 版本,它也是 100% 内置的,因此不存在“安装这个、安装那个”的痛苦。在Python中:

import sqlite3
import json

...这就是您所需要的。它是每个 Python 发行版的一部分。

@Sedrick Jefferson 要求提供示例,因此(有点迟缓)我在这里写了 Javascript 和 Python 之间的独立来回交流。

© www.soinside.com 2019 - 2024. All rights reserved.