INFORMATION_SCHEMA (ou : information_schema) est une base de données système qui fournit une vue indépendante du SGBD, quoique seulement partiellement normalisée, des métadonnées des objets de base de données. Les vues de INFORMATION_SCHEMA sont généralement moins complètes que les tables système classiques, mais les outils peuvent les utiliser pour obtenir des informations de base de manière inter-SGBD. La structure et le contenu des vues de INFORMATION_SCHEMA sont conçus pour évoluer de manière rétrocompatible, c’est-à-dire que seules de nouvelles fonctionnalités sont ajoutées, sans modification ni suppression des fonctionnalités existantes. Du point de vue de l’implémentation interne, les vues de INFORMATION_SCHEMA correspondent généralement à des tables système classiques telles que system.columns, system.databases et system.tables.
INFORMATION_SCHEMA contient les vues suivantes :
Des vues équivalentes non sensibles à la casse, par exemple INFORMATION_SCHEMA.columns, sont fournies pour des raisons de compatibilité avec d’autres bases de données. Il en va de même pour toutes les colonnes de ces vues : des variantes en minuscules (par exemple table_name) et en majuscules (TABLE_NAME) sont disponibles.
COLUMNS
NULL), mais qui sont requises par la norme.
Colonnes :
table_catalog(String) — Actuellement inutilisé.table_schema(String) — Actuellement inutilisé.table_name(String) — Actuellement inutilisé.non_unique(Int32) — Actuellement inutilisé.index_schema(String) — Actuellement inutilisé.index_name(Nullable(String)) — Actuellement inutilisé.seq_in_index(UInt32) — Actuellement inutilisé.column_name(Nullable(String)) — Actuellement inutilisé.collation(Nullable(String)) — Actuellement inutilisé.cardinality(Nullable(Int64)) — Actuellement inutilisé.sub_part(Nullable(Int64)) — Actuellement inutilisé.packed(Nullable(String)) — Actuellement inutilisé.nullable(String) — Actuellement inutilisé.index_type(String) — Actuellement inutilisé.comment(String) — Actuellement inutilisé.index_comment(String) — Actuellement inutilisé.is_visible(String) — Actuellement inutilisé.expression(Nullable(String)) — Actuellement inutilisé.
Query
Response
SCHEMATA
NULL), mais qui sont requises par la norme.
Colonnes :
catalog_name(String) — Le nom de la base de données.schema_name(String) — Le nom de la base de données.schema_owner(String) — Nom du propriétaire du schéma, toujours'default'.default_character_set_catalog(Nullable(String)) —NULL, non pris en charge.default_character_set_schema(Nullable(String)) —NULL, non pris en charge.default_character_set_name(Nullable(String)) —NULL, non pris en charge.sql_path(Nullable(String)) —NULL, non pris en charge.
Query
Response
TABLES
table_catalog(String) — Le nom de la base de données dans laquelle se trouve la table.table_schema(String) — Le nom de la base de données dans laquelle se trouve la table.table_name(String) — Le nom de la table.table_type(String) — Le type de table. Valeurs possibles :BASE TABLEVIEWFOREIGN TABLELOCAL TEMPORARYSYSTEM VIEW
table_rows(Nullable(UInt64)) — Le nombre total de lignes. NULL s’il n’a pas pu être déterminé.data_length(Nullable(UInt64)) — La taille des données sur disque. NULL si elle n’a pas pu être déterminée.index_length(Nullable(UInt64)) — La taille totale de la clé primaire, des index secondaires et de toutes les marks.table_collation(Nullable(String)) — La collation par défaut de la table. Toujoursutf8mb4_0900_ai_ci.table_comment(Nullable(String)) — Le commentaire utilisé lors de la création de la table.
Query
Response
VIEWS
table_catalog(String) — Nom de la base de données dans laquelle se trouve la table.table_schema(String) — Nom de la base de données dans laquelle se trouve la table.table_name(String) — Nom de la table.view_definition(String) — RequêteSELECTde la vue.check_option(String) —NONE, aucune vérification.is_updatable(Enum8) —NO, la vue ne peut pas être mise à jour.is_insertable_into(Enum8) — Indique si la vue créée est matérialisée. Valeurs possibles :NO— La vue créée n’est pas matérialisée.YES— La vue créée est matérialisée.
is_trigger_updatable(Enum8) —NO, le déclencheur ne peut pas être mis à jour.is_trigger_deletable(Enum8) —NO, le déclencheur ne peut pas être supprimé.is_trigger_insertable_into(Enum8) —NO, aucune donnée ne peut être insérée dans le déclencheur.
Query
Response
KEY_COLUMN_USAGE
constraint_catalog(String) — Actuellement inutilisé. Toujoursdef.constraint_schema(String) — Le nom du schéma (base de données) auquel appartient la contrainte.constraint_name(Nullable(String)) — Le nom de la contrainte.table_catalog(String) — Actuellement inutilisé. Toujoursdef.table_schema(String) — Le nom du schéma (base de données) auquel appartient la table.table_name(String) — Le nom de la table à laquelle la contrainte s’applique.column_name(Nullable(String)) — Le nom de la colonne à laquelle la contrainte s’applique.ordinal_position(UInt32) — Actuellement inutilisé. Toujours1.position_in_unique_constraint(Nullable(UInt32)) — Actuellement inutilisé. ToujoursNULL.referenced_table_schema(Nullable(String)) — Actuellement inutilisé. Toujours NULL.referenced_table_name(Nullable(String)) — Actuellement inutilisé. Toujours NULL.referenced_column_name(Nullable(String)) — Actuellement inutilisé. Toujours NULL.
Query
Response
REFERENTIAL_CONSTRAINTS
constraint_catalog(String) — Actuellement inutilisé.constraint_schema(String) — Actuellement inutilisé.constraint_name(Nullable(String)) — Actuellement inutilisé.unique_constraint_catalog(String) — Actuellement inutilisé.unique_constraint_schema(String) — Actuellement inutilisé.unique_constraint_name(Nullable(String)) — Actuellement inutilisé.match_option(String) — Actuellement inutilisé.update_rule(String) — Actuellement inutilisé.delete_rule(String) — Actuellement inutilisé.table_name(String) — Actuellement inutilisé.referenced_table_name(String) — Actuellement inutilisé.