相当于.tables的Python SQLite(一个不带Pandas的线性程序)
使用SQLite可执行文件时,我可以使用相当于.tables的Python SQLite(一个不带Pandas的线性程序),python,sqlite,Python,Sqlite,使用SQLite可执行文件时,我可以使用.tables打印数据库中所有表的列表以进行控制台操作。在Python中,有没有一种等效的单行程序方法可以在不使用Pandas的情况下使用sqlite3模块来实现这一点 根据上的答案,您似乎必须首先创建一个游标,然后创建一个SQL查询以返回表列表(实际上是一个元组列表,作为unicode字符,需要清除,以便在控制台上进行漂亮的打印)。这是五行,而SQLite只有一行 或者一个相关的问题是:为什么我需要在Python sqlite3中打开一个游标来获取此信息
.tables
打印数据库中所有表的列表以进行控制台操作。在Python中,有没有一种等效的单行程序方法可以在不使用Pandas的情况下使用sqlite3模块来实现这一点
根据上的答案,您似乎必须首先创建一个游标,然后创建一个SQL查询以返回表列表(实际上是一个元组列表,作为unicode字符,需要清除,以便在控制台上进行漂亮的打印)。这是五行,而SQLite只有一行
或者一个相关的问题是:为什么我需要在Python sqlite3中打开一个游标来获取此信息
con = sqlite3.connect(db)
cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
tables = cursor.fetchall()
tables = map(str, [t[0] for t in tables])
print(tables)
这并不漂亮,但因为您只使用了一次变量,所以您可以简单地链接所有调用
print([str(t[0]) for t in sqlite3.connect(db).cursor().execute("SELECT name FROM sqlite_master WHERE type='table'").fetchall()])
换句话说,没有办法在Python中传递SQLite的
.tables
helper函数?这在您链接的问题中已经得到了回答。我没有看到明确的说明,我一定忽略了某人的答案?但如果有这么简单的方法,肯定会有人发布它。哈哈,你会想,但从这个问题和公认的答案来看,我不知道人们是怎么想的