HTML5 localStorage & SQL
-
18-09-2019 - |
Domanda
Capisco che HTML5 "localStorage" è un chiave: memorizzare il valore , ma mi chiedo se non v'è una libreria JavaScript disponibile che offre una più SQL-ish API?
Soluzione
Sarà HTML5 essere libero-SQL? e DOM bagagli: una cura per la Cookie comune per alcuni collegamenti e opinioni.
Altri suggerimenti
specifiche W3C Database dice:
Gli interpreti devono implementare l' SQL dialetto supportati da SQLite 3.6.19.
A partire da ora, almeno Google Chrome supporta SQL dialetto. Ho controllato me stesso.
Si dovrebbe utilizzare l'archiviazione di database HTML5 (supporta SQL attraverso operazioni). un tutorial qui: http://www.html5rocks.com/tutorials/webdatabase/todo/
HTML5 archiviazione database locale è dotato di un'interfaccia SQL per impostazione predefinita, se non sbaglio
Ecco un post Webkit con alcuni esempi: http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/
Al momento, le forze di Chrome di utilizzare Gears, che è leggermente diverso, ma sempre a base-SQL. Le versioni future di Chrome seguiranno le specifiche HTML5, tuttavia.
Prova questo: http://kailashnadh.name/code/localstoragedb/
Si può provare a Alasql . Esso supporta il linguaggio SQL standard e mantiene i dati in memoria o localStorage. Ci sono modi sevelar, come utilizzare Alasql con localStorage. Qui di seguito potete vedere come creare database localStorage con il nome "Atlas", collegarlo al Alasql come "MyAtlas", allora si può lavorare con le tabelle come qualsiasi altro database. Per impostazione predefinita, Alasql utilizza AUTOCOMMIT modalità ON, quindi salva i dati localStorage dopo ogni istruzione SQL.
Questo è un esempio:
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');
Gioca con questo campione in jsFiddle . Eseguire questo esempio due o tre volte (o ricaricare la pagina), e vedrete, come il numero di linee crescerà nella tabella.