sqlite 如何在数据库中的表本身上创建索引?

o2g1uqev  于 2022-12-27  发布在  SQLite
关注(0)|答案(2)|浏览(366)

我使用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")
kiayqfof

kiayqfof1#

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

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

table_names = cursor.fetchall()

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

cczfrluj

cczfrluj2#

除了@unutbu answer之外,还有PRAGMA table_info()函数:

PRAGMA table_info(table-name);

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

相关问题