SQLite Schema Information Metadata

You’ve basically named the solution in your question.

To get a list of tables (and views), query sqlite_master as in

SELECT name, sql FROM sqlite_master
WHERE type="table"
ORDER BY name;

(see the SQLite FAQ)

To get information about the columns in a specific table, use PRAGMA table_info(table-name); as explained in the SQLite PRAGMA documentation.

I don’t know of any way to get tablename|columnname returned as the result of a single query. I don’t believe SQLite supports this. Your best bet is probably to use the two methods together to return the information you’re looking for – first get the list of tables using sqlite_master, then loop through them to get their columns using PRAGMA table_info().

Leave a Comment