在Python中显示SQLite数据库中的表
问题内容:
我知道这是一个非常基本的问题,但是由于某种原因,我无法摆脱这一错误。我试图显示/将数据库中所有表的名称(名为“
GData.db”)放入available_tables
Python变量中。目前,我有以下内容:
con = sql.connect(r'/Users/linnk/Desktop/Results/GData.db')
cur = con.cursor()
cur.execute("SHOW TABLES IN GData")
available_table=(cursor.fetchall())
对于倒数第二行,这给我带来以下错误:
OperationalError: near "SHOW": syntax error
我已经在网上查看了SHOW TABLES文档,但没有找到对我有帮助的信息。
问题答案:
列出Sqlite数据库中的表的查询:
SELECT name FROM sqlite_master
WHERE type='table'
ORDER BY name;
因此,您的代码段变为:
con = sql.connect(r'/Users/linnk/Desktop/Results/GData.db')
mycur = con.cursor()
mycur.execute("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;")
available_table=(mycur.fetchall())
有关更多信息,请参见Sqlite FAQ。