COLUMNS
Aplica-se a: Databricks SQL Databricks Runtime 10.4 LTS e superior Unity Catalog apenas
INFORMATION_SCHEMA.COLUMNS descreve columns de tables e views (relações) no catalog.
As linhas retornadas são limitadas às relações com as quais o usuário tem o privilégio de interagir.
Definição
A relação COLUMNS
contém os seguintes columns:
Name | Tipo de dados | Pode ser nulo | Standard | Description |
---|---|---|---|---|
TABLE_CATALOG |
STRING |
Não | Sim | Catalog que contém a relação. |
TABLE_SCHEMA |
STRING |
Não | Sim | Schema que contém a relação. |
TABLE_NAME |
STRING |
Não | Sim | Nome da relação da qual o column faz parte. |
COLUMN_NAME |
STRING |
Não | Sim | Nome do column. |
ORDINAL_POSITION |
INTEGER |
Não | Sim | A posição (numerada a partir de 1 ) do column dentro da relação. |
COLUMN_DEFAULT |
STRING |
Não | Sim | O valor padrão usado quando o column não é especificado em um INSERT, NULL se indefinido. |
IS_NULLABLE |
STRING |
Não | Sim |
YES se column for anulável, NO de outra forma. |
FULL_DATA_TYPE |
STRING |
Não | Não | O tipo de dados conforme especificado na definição de column. |
DATA_TYPE |
STRING |
Não | Sim | O nome simples do tipo de dados do column, STRUCT ou ARRAY . |
CHARACTER_MAXIMUM_LENGTH |
INTEGER |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
CHARACTER_OCTET_LENGTH |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
NUMERIC_PRECISION |
INTEGER |
Sim | Sim | Para tipos numéricos integrais de base 2, FLOAT e DOUBLE , o número de bits suportados. Para DECIMAL o número de dígitos, NULL caso contrário. |
NUMERIC_PRECISION_RADIX |
INTEGER |
Sim | Sim | Para DECIMAL 10, para todos os outros tipos numéricos 2, NULL caso contrário. |
NUMERIC_SCALE |
INTEGER |
Sim | Sim | Para tipos numéricos integrais 0, para DECIMAL o número de dígitos à direita da vírgula decimal, NULL caso contrário. |
DATETIME_PRECISION |
INTEGER |
Sim | Sim | Para DATE 0, para TIMESTAMP , e INTERVAL ...
SECOND 3, qualquer outro INTERVAL 0, NULL caso contrário. |
INTERVAL_TYPE |
STRING |
Sim | Sim | Para INTERVAL a porção unitária do intervalo, por exemplo 'YEAR TO MONTH' , caso NULL contrário. |
INTERVAL_PRECISION |
INTERAL |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
MAXIMUM_CARDINALITY |
INTEGER |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IS_IDENTITY |
STRING |
Não | Sim | Sempre 'NÃO', reservado para uso futuro. |
IDENTITY_GENERATION |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IDENTITY_START |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IDENTITY_INCREMENT |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IDENTITY_MAXIMUM |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IDENTITY_MINIMUM |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IDENTITY_CYCLE |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IS_GENERATED |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
GENERATION_EXPRESSION |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IS_SYSTEM_TIME_PERIOD_START |
STRING |
Não | Sim | Sempre NO , reservado para uso futuro. |
IS_SYSTEM_TIME_PERIOD_END |
STRING |
Não | Sim | Sempre NO , reservado para uso futuro. |
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION |
STRING |
Sim | Sim | Sempre NULL , reservado para uso futuro. |
IS_UPDATABLE |
STRING |
Não | Sim |
YES se column for atualizável, NO de outra forma. |
PARTITION_ORDINAL_POSITION |
INTEGER |
Sim | Não | Posição (numerada a partir de 1 ) do column no partition, NULL se não for um particionamento column. |
COMMENT |
STRING |
Sim | Não | Descrição facultativa do column. |
Restrições
As seguintes restrições se aplicam à COLUMNS
relação:
Classe | Name | Column List | Description |
---|---|---|---|
Chave primária | COLUMNS_PK |
TABLE_CATALOG , TABLE_SCHEMA , TABLE_NAME , COLUMN_NAME |
Único identifier para o column. |
Chave única | COLUMNS_UK |
TABLE_CATALOG , TABLE_SCHEMA , TABLE_NAME , ORDINAL_POSITION ) |
O único identifier é o column. |
Chave estrangeira | COLUMN_TABLES_FK |
TABLE_CATALOG , TABLE_SCHEMA , TABLE_NAME |
Referências TABLES. |
Exemplos
-- 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