
Packages such as dexie.js provide a convenient wrapper around it and tools such as manics/jupyter-offlinenotebook can use it to persist items in the browser from otherwise transient web application sessions, such as MyBinder powered Jupyter notebook sessions. IndexedDB is a NoSQL storage solution that is supported inside contemporary browsers. In the case of sql.js, the minimal demo UI does not persist the database, nor provide any means for saving and reusing queries: it is just a minimal, temporary UI. But there is another huge issue that is perhaps currently a blocker for using in-browser apps in an educational setting: if you edit content in the app – for example, a SQL query you spent ages crafting – you lose it when you close the web page: there is nowhere you can save it to and then reload it, nowhere you can persist it, unless you export it / downlad it to the desktop, and then import it / upload it from the desktop next time you run the application.
#Sqlite browser Offline#
Fortunately, applications such as v make it possible to run a webserver in your web browser to serve content held locally by uploading it to the browser and serving it from there:įor running simple applications, installing something like v as an app so you can run it offline is really handy when it comes to not requiring a user to run their own webserver.
#Sqlite browser code#
#Sqlite browser install#

See also: Seven Ways of Making Use of SQLite. Several ways of working with SQLite in the browser exist the following does not claim to be a complete list, just a representative sample, and includes: In this post, I’ll review a couple of WASM compiled databses that you can run purely within a browser: SQLite and Duck.db. It worked as a general SQL database client, or could be used to manage and query a SQLite database powered by sql.js.

Several years ago, in a post on Asking Questions of CSV Data, Using SQL In the Browser, I described a rather nifty application called franchise, (from the repo, it seems to have been deprecated for some time, or at least, is no longer actively maintained there).
