简体   繁体   中英

List databases using python sqlite3 API

Is there a way to list all attached databases for a sqlite3 Connection ? For instance:

con = sqlite3.connect(":memory:")
con.execute("attach database 'a.db' as 'a'")
con.execute("attach database 'b.db' as 'b'")
con.list_databases() # <- doesn't exist

The command with the sqlite3 command shell is .databases . Tried poking at sqlite_master but of course that's a table, and it exists on each attached DB. I see nothing in the docs either. Is this possible?

Finally found it by digging into the sqlite3 source code:

c.execute("PRAGMA database_list").fetchall()

Forgot about PRAGMAs

( https://github.com/sqlite/sqlite/blob/master/src/shell.c.in#L8417 )

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM