是否有可能从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一个取决于您想要对您计划在本地存储的数据进行什么操作:
- Web存储:用于具有键/值对的基本本地存储
- 脱机存储:使用清单caching整个文件以供脱机使用
- 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/