10

我知道 HTML5“localStorage”是一个键:值存储,但我想知道是否有可用的 Javascript 库提供更多SQL 风格的API?

4

6 回答 6

8

看看HTML5 会是无 SQL 的吗?DOM Storage: a Cure for the Common Cookie获取一些链接和意见。

于 2009-12-10T02:56:21.837 回答
5

W3C 数据库规范说:

用户代理必须实现Sqlite 3.6.19 支持的SQL 方言。

截至目前,至少谷歌浏览器支持 SQL 方言。我已经检查过自己。

于 2010-03-06T09:37:42.053 回答
3

您应该使用 HTML5 数据库存储(它通过事务支持 SQL)。这里有一个教程:http: //www.html5rocks.com/tutorials/webdatabase/todo/

于 2010-07-22T12:53:50.857 回答
1

HTML5本地数据库存储默认自带SQL接口,如果我没记错的话

这是一个带有一些示例的 Webkit 帖子:http ://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/

目前,Chrome 会强制您使用 Gears,它略有不同,但仍基于 SQL。然而,未来版本的 Chrome 将遵循 HTML5 规范。

于 2009-12-10T02:21:13.843 回答
1

试试这个: http: //kailashnadh.name/code/localstoragedb/

于 2011-11-09T20:07:39.403 回答
1

你可以试试Alasql。它支持标准 SQL 语言并将数据保存在内存或本地存储中。有多种方法,如何将 Alasql 与 localStorage 一起使用。下面您可以看到如何创建名为“Atlas”的 localStorage 数据库,将其作为“MyAtlas”附加到 Alasql,然后您可以像使用任何其他数据库一样使用表。默认情况下,Alasql 使用 AUTOCOMMIT ON 模式,因此它会在每条 SQL 语句之后将数据保存到 localStorage。

这是一个示例:

alasql('CREATE localStorage DATABASE IF NOT EXISTS Atlas');
alasql('ATTACH localStorage DATABASE Atlas AS MyAtlas');
alasql('CREATE TABLE IF NOT EXISTS MyAtlas.City (city string, population number)');
alasql('SELECT * INTO MyAtlas.City FROM ?',[[{city:'Vienna', population:1731000}, 
    {city:'Budapest', population:1728000}]]);
var res = alasql('SELECT * FROM MyAtlas.City');

在jsFiddle中玩这个示例。运行此示例两到三遍(或重新加载页面),您将看到表格中的行数将如何增长。

于 2014-12-01T20:41:27.740 回答