localStorage是否有一个Javascript库来模拟SQLite ?
Is there a Javascript library for localStorage to emulate SQLite
我有一个使用SQLite进行存储的应用程序。我们需要修改它,使它能够与Firefox和其他浏览器一起工作。
LocalStorage似乎是一个选择。但是,localStorage不提供更复杂的sql功能(例如OrderBy、GroupBy、表连接等)。
有没有人知道一个Javascript现有的库,将与localStorage工作,使其行为更像SQL?-谢谢
您可以使用javascript linq实现之一。它们从纯javascript对象/数组中获取数据,因此,与localstorage的接口应该非常简单。
http://jslinq.codeplex.com/
http://linqjs.codeplex.com/
甚至http://www.thomasfrank.se/sqlike.html
他们的在线演示:http://secretgeek.net/JsLinq/(注意左上角的选项)
我不太确定插入/更新方面,但你肯定可以用它们做一些很好的数据查询。
试试sql.js。
试试alasql.js。这是一个用纯JavaScript编写的SQL数据库。即使它不具有与locasStorage一起工作的功能,但您可以轻松地保存和恢复会话或更改前后所需的所有数据。
下面是一个如何使用localStorage的Alasql的例子:
// Create database and table structure
var db = new alasql.Database();
db.exec('CREATE TABLE students (studentid INT, school STRING)');
// Load table data from localStorage if it exists or create new table
if(localStorage['students']) {
db.tables.students.data = JSON.parse(localStorage['students']);
} else {
db.tables.students.data = [
{studentid: 55, school: 'abc'},
{studentid: 56, school: 'klm'},
{studentid: 57, school: 'nyz'}
];
localStorage['students'] = JSON.stringify(db.tables.students.data);
};
// Add new student and save database
db.tables.students.data.push({student: 100, school:'qwe'});
localStorage['students'] = JSON.stringify(db.tables.students.data);
// SQL-query
console.log(db.exec("SELECT * FROM students WHERE school > 'ght'"));
如果你正在寻找一个HTML5/JavaScript关系数据库替代SQLLite: SequelSphere
SequelSphere是一个Javascript库,可以在所有现代浏览器和平台上工作,并将其数据存储在IndexedDB和LocalStorage中(取决于浏览器支持什么)。它很容易与任何第三方RIA框架集成,并提供"更改跟踪器"来帮助数据同步。
既然你问了复杂的SELECT功能,以下是在SequelSphere的网站下找到的:
SequelSphere最令人印象深刻的功能是它的革命性的SQL解析和执行引擎。一切正常SELECT特征和表达式,然后超越处理LEFT,RIGHT和FULL外连接。它不仅吹嘘处理无限量子查询的嵌套,它在每个主子句(SELECT,从,哪里,加入,上,有,甚至组由!)。说到分组,它还处理分组集、卷取、多维数据集和总体分组功能。它甚至优雅地处理复杂的条件表达式如:
(a, b)不是((1、2),(3、4),(选项卡)选择c, d)
在RUNTIME中加入自定义、用户定义的混合能力函数和第三方表(两个很酷的特性)右),SQL引擎确实是非凡的。没有其他SQL引擎能做到这些,更不用说100%用JavaScript实现了主要浏览器和平台。而且,我们不要忘记它能做所有的事情这具有极快的速度:解析、规划和优化毫秒级的发生。
全面披露:我是SequelSphere的一员,产品非常棒。
试试我的开源库https://bitbucket.org/ytkyaw/ydn-db/wiki/Home它有IndexedDB, WebSQL和web存储。提供了丰富的查询选项。出奇的容易使用。
- 在VanillaJS中模拟模型双向数据绑定
- 使用jasmine模拟对服务器的调用
- 模拟谷歌地图中的点击
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 使用模拟按键在输入框中自动输入文本
- 模拟chrome.storage.local函数使用Jasmine
- 从数据库中检索字段,而不模拟它们
- react testUtils模拟点击单选按钮而不触发onchange
- 如何在ember单元测试中模拟_super()方法
- Javascript中对象的每个()的模拟值
- 模拟<按钮>在<asp:button>
- 是否可以使用NativeScript使用Sqlite数据库
- javascript上的数字类型模拟
- 在Android Kitkat上模拟鼠标点击Youtube视频
- Webscratching自动化如何在没有链接TAG的情况下模拟点击HREF链接
- 用jQuery模拟点击
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- 单元测试:使用酶模拟父组件中子组件的点击事件
- sqlite查询返回错误-can'我不知道为什么
- localStorage是否有一个Javascript库来模拟SQLite ?