在Python中显示SQLite数据库中的表


问题内容

我知道这是一个非常基本的问题,但是由于某种原因,我无法摆脱这一错误。我试图显示/将数据库中所有表的名称(名为“
GData.db”)放入available_tablesPython变量中。目前,我有以下内容:

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