COLUMNS

S’applique à :coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 10.4 LTS et versions ultérieures oui coché Unity Catalog uniquement

INFORMATION_SCHEMA.COLUMNS décrit les colonnes de tables et vues (relations) dans le catalogue.

Les lignes retournées sont limitées aux relations avec lesquelles l’utilisateur dispose du privilège d’interaction.

Définition

La relation COLUMNS contient les colonnes suivantes :

Nom Type de données Nullable Standard Description
TABLE_CATALOG STRING Non Oui Catalogue qui contient la relation.
TABLE_SCHEMA STRING Non Oui Schéma qui contient la relation.
TABLE_NAME STRING Non Oui Nom de la relation dont la colonne fait partie.
COLUMN_NAME STRING Non Oui Nom de la colonne.
ORDINAL_POSITION INTEGER Non Oui Position (numérotée à partir de 1) de la colonne dans la relation.
COLUMN_DEFAULT STRING Non Oui Valeur par défaut utilisée lorsque la colonne n’est pas spécifiée dans un INSERT, NULL si elle n’est pas définie.
IS_NULLABLE STRING Non Oui YES si la colonne peut accepter la valeur Null ; sinon, NO.
DATA_TYPE STRING Non Oui Nom de type de données simple de la colonne, ou STRUCT, ou ARRAY.
FULL_DATA_TYPE STRING Non Non Type de données tel que spécifié dans la définition de colonne.
CHARACTER_MAXIMUM_LENGTH INTEGER Oui Oui Toujours NULL, réservée à un usage ultérieur.
CHARACTER_OCTET_LENGTH STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
NUMERIC_PRECISION INTEGER Oui Oui Pour les types numériques intégraux de base 2, FLOAT et DOUBLE, le nombre de bits pris en charge. Pour DECIMAL le nombre de chiffres, autrement NULL.
NUMERIC_PRECISION_RADIX INTEGER Oui Oui Pour DECIMAL 10, pour tous les autres types numériques 2, autrement NULL.
NUMERIC_SCALE INTEGER Oui Oui Pour les types numériques intégraux 0, pour DECIMAL le nombre de chiffres à droite de la virgule décimale, autrement NULL.
DATETIME_PRECISION INTEGER Oui Oui Pour DATE 0, pour TIMESTAMP, et INTERVAL ... SECOND 3, tout autre INTERVAL 0, autrement NULL.
INTERVAL_TYPE STRING Oui Oui Pour INTERVAL la partie unitaire de l’intervalle, par exemple 'YEAR TO MONTH', autrement NULL.
INTERVAL_PRECISION INTERAL Oui Oui Toujours NULL, réservée à un usage ultérieur.
MAXIMUM_CARDINALITY INTEGER Oui Oui Toujours NULL, réservée à un usage ultérieur.
IS_IDENTITY STRING Non Oui Toujours « NO », réservée à un usage ultérieur.
IDENTITY_GENERATION STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IDENTITY_START STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IDENTITY_INCREMENT STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IDENTITY_MAXIMUM STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IDENTITY_MINIMUM STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IDENTITY_CYCLE STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IS_GENERATED STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
GENERATION_EXPRESSION STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IS_SYSTEM_TIME_PERIOD_START STRING Non Oui Toujours NO, réservée à un usage ultérieur.
IS_SYSTEM_TIME_PERIOD_END STRING Non Oui Toujours NO, réservée à un usage ultérieur.
SYSTEM_TIME_PERIOD_TIMESTAMP_GENERATION STRING Oui Oui Toujours NULL, réservée à un usage ultérieur.
IS_UPDATABLE STRING Non Oui YES si la colonne peut être mise à jour ; sinon, NO.
PARTITION_ORDINAL_POSITION INTEGER Oui Non Position (numérotée à partir de 1) de la colonne dans la partition, NULL s’il ne s’agit pas d’une colonne de partitionnement.
COMMENT STRING Oui Non Description facultative de la colonne.

Contraintes

Les contraintes suivantes s’appliquent à la relation COLUMNS :

Classe Nom Liste de colonnes Description
Clé primaire COLUMNS_PK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME Identificateur unique de la colonne.
Clé unique COLUMNS_UK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION) Identificateur unique de la colonne.
Clé étrangère COLUMN_TABLES_FK TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME Référence TABLES.

Exemples

-- 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.tables
    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