2

我正在使用APSW将我的 SQL 代码包装在 python 中,如下所示:

connection=apsw.Connection("dbfile"); cursor=connection.cursor()
cursor.execute("create table foo(x,y,z)")
cursor.execute("create table bar(a,b,c)")
cursor.execute("create table baz(one,two,three)")

我计划使用 gui 框架来显示这些表名(以及随后的列和行)。我还想按不同的标准对这些表名进行排序。

有没有办法在表本身上创建索引以用于排序 - 例如:

cursor.execute("CREATE INDEX index_name ON foo")

提前致谢。

4

2 回答 2

1

您可以列出sqlite 数据库中的所有表

cursor.execute(
    "SELECT tbl_name FROM sqlite_master WHERE type='table'")

table_names = cursor.fetchall()

一旦有了表名,就可以使用字符串格式来形成CREATE INDEX命令。

于 2013-09-08T19:04:04.273 回答
0

除了@unutbu 答案,您还有以下PRAGMA table_info()功能

PRAGMA table_info(table-name);

它返回有关各个表的信息。

于 2013-09-09T00:56:42.670 回答