【问题标题】:Sqlite display table with informations about the databas包含有关数据库信息的 Sqlite 显示表
【发布时间】:2021-10-04 22:05:55
【问题描述】:

他们要求我编写一个显示下表的查询:

  • 选择每个表作为字符串
  • 以整数形式选择属性数(计算每个表的属性数)。
  • 使用 COUNT(*) 函数选择行数
  • 使用复合运算符 UNION ALL 将这些行绑定在一起。

我该怎么做?

我知道要获取每个表的名称,我必须使用

SELECT name AS table_name
  FROM sqlite_schema
 WHERE type = 'table'

但其余的对我来说是个谜。 你能帮帮我吗?

谢谢!!!

Here you can find the database

【问题讨论】:

    标签: database sqlite create-table


    【解决方案1】:

    这为您提供了前两列:

    SELECT
        sch.name AS table_name,
        COUNT(pti.name) AS number_of_attributes
    FROM sqlite_schema AS sch,
        pragma_table_info(sch.name) AS pti
    WHERE sch.type = 'table'
    GROUP BY sch.name;
    

    我不知道如何在名称包含在字符串中的表中运行 COUNT。

    【讨论】:

    • 从未见过这样的请求。它被认为是一个中间问题吗?
    • 在支持 EVAL 的数据库中这很容易,但 SQLite 不支持 AFAIK。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多