I am new to HTML5 development. I have to make a completely offline HTML5 app.
Anyhow, in all the tutorials and resources that I am coming across, all of localStorage and IndexedDB is done in key-value pairs.
I was wondering if it is possible to store data in tables with rows and columns? Either with localStorage or IndexedDB?
Or am I doing it the wrong way? Should I be using some other technique to have the data stored offline?
IndexedDB is not a relational database. What you are looking for is probably WebSQL, however WebSQL is no longer a W3C recommendation.
If you want to store large amounts of data offline, your best option is IndexedDB. You just have to stop thinking in terms of tables and start thinking in terms of objects.
MDN has great articles on IndexedDB: