1.
The .tables, and .schema "helper" functions don‘t look into ATTACHed databases: they just query the SQLITE_MASTER table for the "main" database. Consequently, if you used
ATTACH some_file.db AS my_db;
then you need to do
SELECT name FROM my_db.sqlite_master WHERE type=‘table‘;
Note that temporary tables don‘t show up with .tables either: you have to list sqlite_temp_masterfor that:
SELECT name FROM sqlite_temp_master WHERE type=‘table‘;
"SELECT name FROM sqlite_master WHERE type=‘table‘" works for me – vladkras Dec 15 ‘15 at 13:28 CREATE TEMPORARY TABLE SQL commands. Their contents are dropped when the current database connection is closed, and they are never saved to a database file. – Anthony Williams May 8 ‘17 at 14:37 ATTACH "some_file.db" AS my_db; It worked! – John_J Dec 25 


2.You could attach another database file from the SQLite shell:
sqlite> attach database ‘RelDb.sqlite‘ as RelDb; sqlite> .databases main: /db/UserDb.sqlite RelDb: /db/RelDb_1.sqlite sqlite> .tables RelDb.collectionRelationship contentStatus RelDb.contentRelationship genres RelDb.leagueRelationship recordingFilter RelDb.localizedString syncedContentStatus accountLevelSettings syncedThumbs collectionActivity thumbs
The tables from this 2nd database will be accessible via prefix of the database:
sqlite> select count(*) from RelDb.localizedString; 2442