IndexedDb上的WebSQL语法

qoefvg9y  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(2)|浏览(196)

我有一个使用WebSQL的应用程序。我也想支持IndexedDB(对于没有WebSQL支持的浏览器)。是否有任何使用SQL语法但在后台使用indexedDB / LocalStorage的库?
我不想改变我所有的查询和功能。
我找到的所有库都使用IndexedDb语法并支持WebSql。(不是我需要的)。
谢谢你:)

ngynwnxp

ngynwnxp1#

你可以试试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>

您可以在jsFiddle中使用此示例

odopli94

odopli942#

您可以使用我的库ydn-db来进行非常简单的sql查询,它可以用于任何web数据库。
要获得对SQL的近乎全面的支持,请查看商业SequelSphere js库http://www.sequelsphere.com/docs/latest/doc/Supported%20SQL.html。不幸的是,查询执行目前是在内存中。定价非常贪婪。

相关问题