List the tables of the database
本问题已经有最佳答案,请猛点这里访问。
我想列出一个sqlite3数据库的所有表,但它不起作用。假设在MA数据库中,我有以下表格:foo1,foo2,foo3,…然后,使用此代码:
1 2 3 | cur.execute("SELECT name FROM sqlite_master") for table in cur: print("The table is", table[0]) |
我有这个输出:
1 2 3 4 | The table is foo1 The table is foo2 The table is foo3 … |
号
但如果我将代码修改为:
1 2 3 4 | cur.execute("SELECT name FROM sqlite_master") print(cur.fetchone()) for table in cur: print("The table is", table[0] |
则输出为:
1 2 | (foo1,) The table is foo2 |
。
我的代码有什么问题?
你的第一种方法应该有效(假设
1 2 3 4 5 6 7 8 9 10 | import sqlite3 connection = sqlite3.connect(':memory:') cur = connection.cursor() cur.execute('CREATE TABLE foo1 (bar INTEGER, baz TIMESTAMP)') cur.execute('CREATE TABLE foo2 (bar INTEGER, baz TIMESTAMP)') cur.execute('CREATE TABLE foo3 (bar INTEGER, baz TIMESTAMP)') cur.execute( "SELECT name FROM sqlite_master") for table in cur: print(table[0]) |
印刷品
1 2 3 | foo1 foo2 foo3 |
号
注意,要排除索引,一定要将