我知道 HTML5“localStorage”是一个键:值存储,但我想知道是否有可用的 Javascript 库提供更多SQL 风格的API?
6 回答
您应该使用 HTML5 数据库存储(它通过事务支持 SQL)。这里有一个教程:http: //www.html5rocks.com/tutorials/webdatabase/todo/
HTML5本地数据库存储默认自带SQL接口,如果我没记错的话
这是一个带有一些示例的 Webkit 帖子:http ://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/
目前,Chrome 会强制您使用 Gears,它略有不同,但仍基于 SQL。然而,未来版本的 Chrome 将遵循 HTML5 规范。
试试这个: http: //kailashnadh.name/code/localstoragedb/
你可以试试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中玩这个示例。运行此示例两到三遍(或重新加载页面),您将看到表格中的行数将如何增长。