Локальное хранилище HTML5 и SQL

Я понимаю, что HTML5 "localStorage" представляет собой хранилище ключ:значение, но мне интересно, есть ли доступная библиотека Javascript, которая предлагает более SQL-подобный API?


person jldupont    schedule 10.12.2009    source источник
comment
[Этот пост] [1] может быть вам полезен. [1]: stackoverflow.com/questions/14260127/   -  person Leo Cai    schedule 11.01.2013


Ответы (6)


Ознакомьтесь с разделом Будет ли HTML5 не содержать SQL? и DOM Storage: лекарство от обычных файлов cookie для некоторых ссылок и мнений.

person Kevin Hakanson    schedule 10.12.2009
comment
Приятно читать по этим ссылкам, спасибо! Я также просто добавлю статью, связанную с одной из тех, которые дали хороший обзор использования SQL для хранилища браузера › blog.vlad1.com/2009/04/06/html5-web-storage-and-sql - person JeroenEijkhof; 10.05.2010

В спецификации базы данных W3C говорится:

Пользовательские агенты должны реализовать диалект SQL, поддерживаемый Sqlite 3.6.19.

На данный момент по крайней мере Google Chrome поддерживает диалект SQL. Я сам проверил.

person N 1.1    schedule 06.03.2010
comment
Я использую версию Chrome 5.0.342.1 для разработчиков. - person N 1.1; 06.03.2010
comment
Примерно в ноябре 2010 года документ теперь читается как «Этот документ находился в списке рекомендаций W3C, но работа над спецификацией остановлена». Документ IndexedDB теперь заменяет его — w3.org/TR/IndexedDB - person Kevin Hakanson; 01.07.2011


Хранилище локальной базы данных HTML5 по умолчанию поставляется с интерфейсом SQL, если я не ошибаюсь

Вот сообщение Webkit с некоторыми примерами: http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/

В настоящее время Chrome заставляет вас использовать Gears, который немного отличается, но все еще основан на SQL. Однако будущие версии Chrome будут следовать спецификации HTML5.

person Matt    schedule 10.12.2009
comment
См. 4.11. Хранилище базы данных на стороне клиента — whatwg.org/specs/web -apps/2007-10-26/#sql - person Kevin Hakanson; 10.12.2009

Попробуйте это: http://kailashnadh.name/code/localstoragedb/

person Kavin Mehta    schedule 09.11.2011

Вы можете попробовать Alasql. Он поддерживает стандартный язык SQL и хранит данные в памяти или локальном хранилище. Есть несколько способов использования Alasql с localStorage. Ниже вы можете увидеть, как создать базу данных localStorage с именем «Atlas», присоединить ее к Alasql как «MyAtlas», после чего вы сможете работать с таблицами, как с любой другой базой данных. По умолчанию Alasql использует режим AUTOCOMMIT ON, поэтому он сохраняет данные в localStorage после каждого оператора SQL.

Это образец:

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');

Поэкспериментируйте с этим образцом в jsFiddle. Запустите этот образец два-три раза (или перезагрузите страницу), и вы увидите, как количество строк в таблице будет расти.

person agershun    schedule 01.12.2014