Is it possible to access an SQLite database from JavaScript?

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

283325 次浏览

Actually the answer is yes. Here is an example how you can do this: http://html5doctor.com/introducing-web-sql-databases/

The bad thing is that it's with very limited support by the browsers.

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

PS: 正如@Christoph 所说,看这里。

SQL.js

剪辑

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

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

One of the most interesting features in HTML5 is the ability to store data locally and to allow the application to run offline. There are three different APIs that deal with these features and choosing one depends on what exactly you want to do with the data you're planning to store locally:

  1. Web 存储: 用于具有键/值对的基本本地存储
  2. Offline storage: Uses a manifest to cache entire files for offline 使用
  3. 网上数据库: 用于关系数据库存储

有关详细信息,请参阅 介绍 HTML5存储 API

以及如何使用

Http://cookbooks.adobe.com/post_store_data_in_the_html5_sqlite_database-19115.html

最新答案

My fork of sql.js has now be merged into 最初的版本,在一个专用的回购.

good documentation也可在原来的回购。

原答案(已过时)

你应该使用 newer version of sql.js。它是一个 sqlite 3.8端口,有一个 良好的文件,并积极维护(由我)。它支持预处理语句和 BLOB 数据类型。

使用类似 PouchDB 的东西怎么样

恕我直言,最好的方法是通过 AJAX 使用 POST 调用 Python,然后在 Python 中使用 DB 完成所有需要做的事情,然后将结果返回给 javascript。Python 中对 json 和 sqlite 的支持非常棒,即使是最新的 Python 版本,它也是100% 内置的,所以没有“安装这个,安装那个”的痛苦。在 Python 中:

import sqlite3
import json

这就是你所需要的,这是每个巨蟒发行版的一部分。

@ Sedrick Jefferson 想要一些例子,所以(有点迟缓)我写了一个 stand-alone back-and-forth between Javascript and Python here.

最好使用 python 和 flask 编写代码。如果你在 JavaScript 中使用 WebSQL,那么它只会保存单个窗口的数据,而不会保存全世界的数据,因为它是一个浏览器 cookie。Flask是一个 Python 网络服务器,一旦你用它做了一个网页,你可以 导入 sqlite3。另一种方法是使用 php,但主要的问题是使用 JavaScript 是一个坏主意。

实际上你可以尝试使用 LoaclStorage我听说它可以保存数据,只要你想要它被保存。