IndexedDb上的WebSQL语法

Cra*_*dks 3 javascript syntax html5 web-sql indexeddb

我有一个使用WebSQL的应用程序。我也想支持IndexedDB(对于不支持WebSql的浏览器)。是否有任何使用sql语法但可在后台与indexedDB / LocalStorage一起使用的库?

我不想更改所有查询和功能。

我发现的所有库都使用IndexedDb语法并支持WebSql。(不是我所需要的)。

谢谢 :)

age*_*hun 5

您可以尝试Alasql JavaScript SQL数据库库。它支持所有重要的SQL语句,并且还可以与具有SQL语法的IndexedDB一起使用。

这是一个例子:

<script src='alasql.min.js'></script>
<script>
    var cityData = [{city:"Redmond", population:57530},
        {city:"Atlanta",population:447841},
        {city:"San Francisco", population:837442}];

    // Create IndexdDB database and fill it with data from array
    alasql('CREATE INDEXEDDB DATABASE IF NOT EXISTS geo;\
        ATTACH INDEXEDDB DATABASE geo; \
        USE geo; \
        DROP TABLE IF EXISTS cities; \
        CREATE TABLE cities; \
        SELECT * INTO cities FROM ?', [cityData], function(){

        // Select data from IndexedDB
        alasql('SELECT COLUMN * FROM cities WHERE population > 100000 ORDER BY city DESC',
           [],function(res){
                document.write('Big cities: ', res.join(','));
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

您可以在jsFiddle中使用此示例


Kya*_*Tun 2

您可以使用我的库 ydn-db 进行非常简单的 SQL 查询,它适用于任何 Web 数据库。

要获得对 SQL 的近乎完全支持,请查看商业 SequelSphere js 库http://www.sequelsphere.com/docs/latest/doc/Supported%20SQL.html。不幸的是,查询执行当前在内存中。定价实在是太贪婪了。