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 |
否 | 是 | 如果未在 INSERT 中指定列,则使用默认值;如果未定义,则使用 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 |
INTERAL |
是 | 是 | 始终为 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_ORDINAL_POSITION |
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