TABLES

适用于: 勾选“是” Databricks SQL 勾选“是” Databricks Runtime 10.4 LTS 及更高版本 勾选“是” 仅 Unity Catalog

INFORMATION_SCHEMA.TABLES 包含本地目录或工作区可见的所有目录(如果由 SYSTEM 目录拥有)内的表和视图(关系)的对象级元数据。

返回的行仅限于用户有权与之交互的关系。

定义

TABLES 关系包含以下列:

名称 数据类型 Nullable 标准 描述
TABLE_CATALOG STRING 包含关系的目录。
TABLE_SCHEMA STRING 包含关系的架构。
TABLE_NAME STRING 关系的名称。
TABLE_TYPE STRING 请参阅表类型
IS_INSERTABLE_INTO STRING 如果关系可以插入,为 'YES';否则为 'NO'
COMMIT_ACTION STRING 总是为 'PRESERVE'。 保留供将来使用。
TABLE_OWNER STRING 当前拥有该关系的用户或组(主体)。
COMMENT STRING 描述关系的可选备注。
CREATED TIMESTAMP 创建关系时的时间戳。
CREATED_BY STRING 创建关系的主体
LAST_ALTERED TIMESTAMP 上次以任何方式更改关系定义时的时间戳。
LAST_ALTERED_BY STRING 上次更改关系的主体
DATA_SOURCE_FORMAT STRING 数据源的格式,例如 PARQUETCSV
STORAGE_SUB_DIRECTORY STRING 已弃用。 总是为 NULL

约束

以下约束适用于 TABLES 关系:

名称 列列表 描述
主密钥 TABLES_PK TABLE_CATALOGTABLE_SCHEMATABLE_NAME 关系的唯一标识符。
外键 TABLES_SCHEMATA_FK TABLE_CATALOGTABLE_SCHEMA 引用 SCHEMATA

表类型

TABLES 关系中的 TABLE_TYPE 列可以具有以下值:

  • VIEW:由查询定义的虚拟表。
  • FOREIGN:联合表。
  • MANAGED:由目录管理存储的常规表。
  • STREAMING_TABLE:用于流式传输数据的表。
  • MATERIALIZED_VIEW:具体化视图的表。
  • EXTERNAL:在目录之外管理存储的表。
  • MANAGED_SHALLOW_CLONE:一种表,是托管表的浅层克隆。
  • EXTERNAL_SHALLOW_CLONE:一种表,是外部表的浅层克隆。

示例

> SELECT *
    FROM information_schema.tables
    WHERE table_schema = 'information_schema'
      AND table_name = 'columns';
  table_catalog table_schema       table_name table_type is_insertable_into commit_action table_owner comment                                               ...
  ------------- ------------------ ---------- ---------- ------------------ ------------- ----------- ----------------------------------------------------- ...
  main          information_schema columns    VIEW       NO                 PRESERVE      System user Describes columns of tables and views in the catalog. ...