使用python从sqlite中的第二个数据库获取表名

时间:2017-10-23 16:58:23

标签: python sqlite

我正在尝试使用python获取两个数据库的表名。我从第一个db获取表,但不从第二个db获取表。每个数据库中只有一个表。

代码 -

title

它从db1打印表,但不从db2打印。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您应该重复第二个数据库的查询:

res2 = conn.execute("SELECT name FROM db2.sqlite_master WHERE type='table'")
for name in res2:
    tblname = name[0]
    print(name[0])

或将两者联合起来:

res = conn.execute("""
SELECT name from sqlite_master WHERE type='table'
UNION 
SELECT name FROM db2.sqlite_master WHERE type='table' 
""")

(请注意,如果两个数据库中的表名不同,则以下代码需要修复,因为在循环内定义了tblname并且仅记住最后一个值)