5

I have an application that use WebSQL. I want to support IndexedDB too (For Browsers without WebSql support). Is there any libary that use sql-syntax but works with indexedDB / LocalStorage in background?

I don't want to change all my querys and functions.

All libraries i found uses IndexedDb syntax and support WebSql. (Not what I need).

Thanks :)

Cracker0dks
  • 2,422
  • 1
  • 24
  • 39

2 Answers2

7

You can try Alasql JavaScript SQL database library. It supports all important SQL statements and can work with IndexedDB with SQL syntax as well.

Here is an example:

<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>

You can play with this example in jsFiddle

Stijn de Witt
  • 40,192
  • 13
  • 79
  • 80
agershun
  • 4,077
  • 38
  • 41
2

You can use my library, ydn-db, for very simple sql query, which works with any web database.

For near full support for SQL, check out commercial SequelSphere js library http://www.sequelsphere.com/docs/latest/doc/Supported%20SQL.html. Unfortunately query execution is in-memory currently. Pricing is outrageously greedy.

Kyaw Tun
  • 12,447
  • 10
  • 56
  • 83