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

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

其实答案是肯定的 这里是一个例子,你可以做到这一点: http : //html5doctor.com/introducing-web-sql-databases/

坏消息是浏览器的支持非常有限。

更多信息在这里HTML5 IndexedDB,Web SQL数据库和浏览器大战

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


编辑

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

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

最新的答案

我的叉子sql.js现在被合并到原来的版本,在克里肯的回购 。

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

原始答案(过时)

你应该使用新版本的sql.js。 它是一个sqlite的端口3.8,有一个很好的文档 ,并积极维护(由我)。 它支持预处理语句和BLOB数据types。

HTML5最有趣的function之一就是能够在本地存储数据并允许应用程序离线运行。 有三种不同的API处理这些function,select一个取决于您想要对您计划在本地存储的数据进行什么操作:

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

有关更多参考,请参阅介绍HTML5存储API

以及如何使用

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

恕我直言,最好的方法是通过AJAX使用POST调用Python,并执行您在Python中使用DB所需的一切,然后将结果返回给javascript。 json和sqlite在Python中的支持是非常棒的,它甚至在Python的最新版本中都是100%内置的,所以没有“安装这个,安装”的痛苦。 在Python中:

 import sqlite3 import json 

…这就是你需要的一切。 它是每个Python发行版的一部分。

谢德里克·杰斐逊(Sherry Jefferson)提出了一些例子,所以(有些迟缓)我已经在Javascript和Python之间来回写了一个独立的代码。

那么使用像PouchDB的东西呢? http://pouchdb.com/