HTML5 LocalStorage & SQL
-
18-09-2019 - |
Pergunta
Eu entendo que o HTML5 "LocalStorage" é um Chave: Value Store Mas estou me perguntando se existe uma biblioteca JavaScript disponível que oferece mais Sql-ish API?
Solução
Verificação de saída O HTML5 será livre de SQL? e DOM Storage: uma cura para o cookie comum Para alguns links e opiniões.
Outras dicas
Especificação do banco de dados W3C diz:
Os agentes de usuário devem implementar o Dialeto SQL Suportado pelo SQLite 3.6.19.
A partir de agora, pelo menos O Google Chrome suporta o dialeto SQL. Eu tenho verificado Eu mesmo.
Você deve usar o armazenamento do banco de dados HTML5 (ele suporta SQL através de transações). Um tutorial aqui: http://www.html5rocks.com/tutorials/webdatabase/todo/
O armazenamento local do banco de dados HTML5 vem com uma interface SQL por padrão, se não me engano
Aqui está uma postagem no webkit com alguns exemplos: http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/
Atualmente, o Chrome força você a usar engrenagens, o que é um pouco diferente, mas ainda é baseado em SQL. As versões futuras do Chrome seguirão as especificações HTML5, no entanto.
Experimente isso:http://kailashnadh.name/code/localstoragedb/
Podes tentar Alasql. Ele suporta o idioma SQL padrão e mantém dados na memória ou no localStorage. Existem maneiras de Sevellar, como usar o Alasql com o LocalStorage. Abaixo, você pode ver como criar um banco de dados LocalStorage com o nome "Atlas", conectá -lo ao Alasql como "Myatlas", então você pode trabalhar com tabelas como qualquer outro banco de dados. Por padrão, o AlasQL usa o Modo AutoComit no modo, para salvar dados no LocalSorage após cada instrução SQL.
Esta é uma amostra:
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');
Brinque com esta amostra em jsfiddle. Execute esta amostra duas ou três vezes (ou recarregue a página) e você verá como o número de linhas crescerá na tabela.