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

时间:2012-11-02 09:36:13

标签: javascript html database sqlite

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

7 个答案:

答案 0 :(得分:36)

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

糟糕的是,浏览器的支持非常有限。

此处提供更多信息HTML5 IndexedDB, Web SQL Database and browser wars

PS:正如@Christoph所说Web SQL is no longer in active maintenance and the Web Applications Working Group does not intend to maintain it further所以请看https://developer.mozilla.org/en-US/docs/IndexedDB


修改

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

答案 1 :(得分:33)

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

答案 2 :(得分:19)

最新答案

我的sql.js派对现在已合并到the original version, on kriken's repo

good documentation也可在原始仓库中找到。

原始答案(过时)

您应该使用newer version of sql.js。它是sqlite 3.8的一个端口,有一个good documentation并且是由我积极维护的。它支持预处理语句和BLOB数据类型。

答案 3 :(得分:4)

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

  1. 网络存储:用于具有键/值对的基本本地存储
  2. 离线存储:使用清单缓存整个文件以供离线使用 使用
  3. Web数据库:用于关系数据库存储
  4. 有关详情,请参阅Introducing the HTML5 storage APIs

    以及如何使用

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

答案 4 :(得分:4)

恕我直言,最好的方法是通过AJAX使用POST调用Python,并在Python中执行您需要处理的所有内容,然后将结果返回给javascript。 Python中的json和sqlite支持非常棒,它甚至可以在最近的Python版本中内置100%,所以没有"安装它,安装"痛。在Python中:

import sqlite3
import json

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

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

答案 5 :(得分:2)

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

答案 6 :(得分:0)

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

附言实际上,您可以尝试使用 loaclStorage,我听说它可以根据您的需要保存数据。