COLUMNS

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

INFORMATION_SCHEMA.COLUMNS 描述目录中表和视图(关系)的列。

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

定义

COLUMNS 关系包含以下列:

名称 数据类型 Nullable 标准 描述
TABLE_CATALOG STRING 否 是 包含关系的目录。
TABLE_SCHEMA STRING 否 是 包含关系的架构。
TABLE_NAME STRING 否 是 列所属关系的名称。
COLUMN_NAME STRING 否 是 列的名称。
ORDINAL_POSITION INTEGER 否 是 列在关系中的位置(从 1 开始编号)。
COLUMN_DEFAULT STRING 否 是 始终为 NULL,保留以供将来使用。
IS_NULLABLE STRING 否 是 如果列可为空,为 YES;否则为 NO。
FULL_DATA_TYPE STRING 否 否 列定义中指定的数据类型。
DATA_TYPE STRING 否 是 列的简单数据类型名称,或 STRUCT,或 ARRAY。
CHARACTER_MAXIMUM_LENGTH INTEGER 是 是 始终为 NULL,保留以供将来使用。
CHARACTER_OCTET_LENGTH STRING 是 是 始终为 NULL,保留以供将来使用。
NUMERIC_PRECISION INTEGER 是 是 对于 base-2 整数类型、FLOAT 和 DOUBLE,为支持的位数。 对于 DECIMAL,为位数;否则为 NULL。
NUMERIC_PRECISION_RADIX INTEGER 是 是 对于 DECIMAL,为 10;对于所有其他数字类型,为 2;否则为 NULL。
NUMERIC_SCALE INTEGER 是 是 对于整数类型,为 0;对于 DECIMAL,为小数点右侧的位数;否则为 NULL。
DATETIME_PRECISION INTEGER 是 是 对于 DATE,为 0;对于 TIMESTAMP 和 INTERVAL … SECOND,为 3;对于其他任何 INTERVAL,为 0;否则为 NULL。
INTERVAL_TYPE STRING 是 是 对于 INTERVAL,为间隔的单位部分,例如 'YEAR TO MONTH';否则为 NULL。
INTERVAL_PRECISION INTEGER 是 是 始终为 NULL,保留以供将来使用。
MAXIMUM_CARDINALITY INTEGER 是 是 始终为 NULL,保留以供将来使用。
IS_IDENTITY STRING 否 是 始终为“NO”,保留以供将来使用。
IDENTITY_GENERATION STRING 是 是 始终为 NULL,保留以供将来使用。
IDENTITY_START STRING 是 是 始终为 NULL,保留以供将来使用。
IDENTITY_INCREMENT STRING 是 是 始终为 NULL,保留以供将来使用。
IDENTITY_MAXIMUM STRING 是 是 始终为 NULL,保留以供将来使用。
IDENTITY_MINIMUM STRING 是 是 始终为 NULL,保留以供将来使用。
IDENTITY_CYCLE STRING 是 是 始终为 NULL,保留以供将来使用。
IS_GENERATED STRING 是 是 始终为 NULL,保留以供将来使用。
GENERATION_EXPRESSION STRING 是 是 始终为 NULL,保留以供将来使用。
IS_SYSTEM_TIME_PERIOD_START STRING 否 是 始终为 NO,保留以供将来使用。
IS_SYSTEM_TIME_PERIOD_END STRING 否 是 始终为 NO,保留以供将来使用。
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION STRING 是 是 始终为 NULL,保留以供将来使用。
IS_UPDATABLE STRING 否 是 如果列是可更新的,为 YES;否则为 NO。
PARTITION_INDEX INTEGER 是 否 列在分区中的位置(从 1 开始编号);如果不是分区依据列,则为 NULL。
COMMENT STRING 是 否 列的可选描述。

约束

以下约束适用于 COLUMNS 关系:

类 名称 列列表 描述
主密钥 COLUMNS_PK TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME 列的唯一标识符。
唯一键 COLUMNS_UK TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,ORDINAL_POSITION 列的唯一标识符。
外键 COLUMN_TABLES_FK TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME 引用 TABLES。

示例

-- Show the columns of the CATALOG_PRIVILEGES relation in the main.information_schema schema.
> SELECT ordinal_position, column_name, data_type
    FROM main.information_schema.columns
    WHERE table_schema = 'information_schema'
      AND table_name = 'catalog_privileges'
    ORDER BY ordinal_position;
  1  grantor        STRING
  2  grantee        STRING
  3  catalog_name   STRING
  4  privilege_type STRING
  5  is_grantable   STRING