【问题标题】:How to list all tables or only those of a given database如何列出所有表或仅列出给定数据库的表
【发布时间】:2010-10-24 20:56:39
【问题描述】:

您可以使用获取数据库列表

PRAGMA database_list

或使用“主”数据库中的表列表

select name from sqlite_master where type='table'

但正如我刚刚写的那样,它只返回“主”数据库中的表,而且我看不到知道哪些表在其他数据库中的方法。

那么如何列出其他数据库中的表(稍后附上)?

谢谢,--DD

PS:我可以想到一种解决方法,为通过 pragma database_list 列出的每个 DB 创建一个单独的 sqlite*,然后他们在这些上执行 N 次“从 sqlite_master 中选择名称,其中 type='table'”(因为每个一个现在是“主要”的),但这听起来应该是可能的,无需求助于解决方法,不是吗???

【问题讨论】:

    标签: sqlite metadata database-schema


    【解决方案1】:

    啊啊啊,看How do I open an in-memory database file into sqlite3的答案找到答案了

    由于有一个 sqlite_master per DB,我需要做的就是在 sqlite_master 前面加上“DB_name”。其中 DB_name 对应于 PRAGMA database_list 返回的名称列。

    【讨论】:

      猜你喜欢
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      相关资源
      最近更新 更多