> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Base de datos del sistema que proporciona una vista casi estandarizada e independiente del SGBD de los metadatos de los objetos de la base de datos.

# INFORMATION_SCHEMA

`INFORMATION_SCHEMA` (o `information_schema`) es una base de datos del sistema que proporciona una [vista independiente del SGBD](https://en.wikipedia.org/wiki/Information_schema) de los metadatos de los objetos de la base de datos, de forma casi estandarizada. Por lo general, las vistas de `INFORMATION_SCHEMA` son menos completas que las tablas del sistema normales, pero las herramientas pueden usarlas para obtener información básica de forma transversal entre distintos SGBD. Se espera que la estructura y el contenido de las vistas de `INFORMATION_SCHEMA` evolucionen de forma retrocompatible; es decir, solo se añade funcionalidad nueva, pero la funcionalidad existente no se modifica ni se elimina. En cuanto a la implementación interna, las vistas de `INFORMATION_SCHEMA` suelen corresponder a tablas del sistema normales como [system.columns](/es/reference/system-tables/columns), [system.databases](/es/reference/system-tables/databases) y [system.tables](/es/reference/system-tables/tables).

```sql theme={null}
SHOW TABLES FROM INFORMATION_SCHEMA;

-- or:
SHOW TABLES FROM information_schema;
```

```text theme={null}
┌─name────────────────────┐
│ COLLATIONS              │
│ COLUMNS                 │
│ KEY_COLUMN_USAGE        │
│ REFERENTIAL_CONSTRAINTS │
│ SCHEMATA                │
| STATISTICS              |
│ TABLES                  │
│ VIEWS                   │
│ columns                 │
│ key_column_usage        │
│ referential_constraints │
│ schemata                │
| statistics              |
│ tables                  │
│ views                   │
└─────────────────────────┘
```

`INFORMATION_SCHEMA` contiene las siguientes vistas:

* [COLUMNS](#columns)
* [COLLATIONS](#collations)
* [KEY\_COLUMN\_USAGE](#key_column_usage)
* [REFERENTIAL\_CONSTRAINTS](#referential_constraints)
* [SCHEMATA](#schemata)
* [STATISTICS](#statistics)
* [TABLES](#tables)
* [VIEWS](#views)

Se ofrecen vistas equivalentes que no distinguen entre mayúsculas y minúsculas, por ejemplo, `INFORMATION_SCHEMA.columns`, por motivos de compatibilidad con otras bases de datos. Lo mismo se aplica a todas las columnas de estas vistas: se ofrecen variantes tanto en minúsculas (por ejemplo, `table_name`) como en mayúsculas (`TABLE_NAME`).

<div id="columns">
  ## COLUMNS
</div>

Contiene las columnas leídas de la tabla del sistema [system.columns](/es/reference/system-tables/columns) y columnas no compatibles con ClickHouse o que no tienen sentido (siempre `NULL`), pero que el estándar exige.

Columnas:

* `table_catalog` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `table_schema` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `table_name` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `non_unique` ([Int32](/es/reference/data-types/int-uint)) — Actualmente no se utiliza.
* `index_schema` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `index_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `seq_in_index` ([UInt32](/es/reference/data-types/int-uint)) — Actualmente no se utiliza.
* `column_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `collation` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `cardinality` ([Nullable](/es/reference/data-types/nullable)([Int64](/es/reference/data-types/int-uint))) — Actualmente no se utiliza.
* `sub_part` ([Nullable](/es/reference/data-types/nullable)([Int64](/es/reference/data-types/int-uint))) — Actualmente no se utiliza.
* `packed` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `nullable` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `index_type` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `comment` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `index_comment` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `is_visible` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `expression` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.

**Ejemplo**

```sql title="Query" theme={null}
SELECT table_catalog,
       table_schema,
       table_name,
       column_name,
       ordinal_position,
       column_default,
       is_nullable,
       data_type,
       character_maximum_length,
       character_octet_length,
       numeric_precision,
       numeric_precision_radix,
       numeric_scale,
       datetime_precision,
       character_set_catalog,
       character_set_schema,
       character_set_name,
       collation_catalog,
       collation_schema,
       collation_name,
       domain_catalog,
       domain_schema,
       domain_name,
       column_comment,
       column_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE (table_schema = currentDatabase() OR table_schema = '')
  AND table_name NOT LIKE '%inner%' 
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:            default
table_schema:             default
table_name:               describe_example
column_name:              id
ordinal_position:         1
column_default:
is_nullable:              0
data_type:                UInt64
character_maximum_length: ᴺᵁᴸᴸ
character_octet_length:   ᴺᵁᴸᴸ
numeric_precision:        64
numeric_precision_radix:  2
numeric_scale:            0
datetime_precision:       ᴺᵁᴸᴸ
character_set_catalog:    ᴺᵁᴸᴸ
character_set_schema:     ᴺᵁᴸᴸ
character_set_name:       ᴺᵁᴸᴸ
collation_catalog:        ᴺᵁᴸᴸ
collation_schema:         ᴺᵁᴸᴸ
collation_name:           ᴺᵁᴸᴸ
domain_catalog:           ᴺᵁᴸᴸ
domain_schema:            ᴺᵁᴸᴸ
domain_name:              ᴺᵁᴸᴸ
```

<div id="schemata">
  ## SCHEMATA
</div>

Contiene columnas leídas de la tabla del sistema [system.databases](/es/reference/system-tables/databases) y columnas que no son compatibles con ClickHouse o que no tienen sentido (siempre `NULL`), pero que el estándar requiere.

Columnas:

* `catalog_name` ([String](/es/reference/data-types/string)) — El nombre de la base de datos.
* `schema_name` ([String](/es/reference/data-types/string)) — El nombre de la base de datos.
* `schema_owner` ([String](/es/reference/data-types/string)) — Nombre del propietario del esquema, siempre `'default'`.
* `default_character_set_catalog` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — `NULL`, no se admite.
* `default_character_set_schema` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — `NULL`, no se admite.
* `default_character_set_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — `NULL`, no se admite.
* `sql_path` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — `NULL`, no se admite.

**Ejemplo**

```sql title="Query" theme={null}
SELECT catalog_name,
       schema_name,
       schema_owner,
       default_character_set_catalog,
       default_character_set_schema,
       default_character_set_name,
       sql_path
FROM information_schema.schemata
WHERE schema_name ILIKE 'information_schema' 
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
catalog_name:                  INFORMATION_SCHEMA
schema_name:                   INFORMATION_SCHEMA
schema_owner:                  default
default_character_set_catalog: ᴺᵁᴸᴸ
default_character_set_schema:  ᴺᵁᴸᴸ
default_character_set_name:    ᴺᵁᴸᴸ
sql_path:                      ᴺᵁᴸᴸ
```

<div id="tables">
  ## TABLES
</div>

Contiene las columnas leídas de la tabla del sistema [system.tables](/es/reference/system-tables/tables).

Columnas:

* `table_catalog` ([String](/es/reference/data-types/string)) — El nombre de la base de datos en la que se encuentra la tabla.
* `table_schema` ([String](/es/reference/data-types/string)) — El nombre de la base de datos en la que se encuentra la tabla.
* `table_name` ([String](/es/reference/data-types/string)) — Nombre de la tabla.
* `table_type` ([String](/es/reference/data-types/string)) — Tipo de tabla. Valores posibles:
  * `BASE TABLE`
  * `VIEW`
  * `FOREIGN TABLE`
  * `LOCAL TEMPORARY`
  * `SYSTEM VIEW`
* `table_rows` ([Nullable](/es/reference/data-types/nullable)([UInt64](/es/reference/data-types/int-uint))) — El número total de filas. NULL si no se pudo determinar.
* `data_length` ([Nullable](/es/reference/data-types/nullable)([UInt64](/es/reference/data-types/int-uint))) — El tamaño de los datos en disco. NULL si no se pudo determinar.
* `index_length` ([Nullable](/es/reference/data-types/nullable)([UInt64](/es/reference/data-types/int-uint))) — El tamaño total de la clave primaria, los índices secundarios y todas las marcas.
* `table_collation` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — La intercalación predeterminada de la tabla. Siempre `utf8mb4_0900_ai_ci`.
* `table_comment` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — El comentario utilizado al crear la tabla.

**Ejemplo**

```sql title="Query" theme={null}
SELECT table_catalog, 
       table_schema, 
       table_name, 
       table_type, 
       table_collation, 
       table_comment
FROM INFORMATION_SCHEMA.TABLES
WHERE (table_schema = currentDatabase() OR table_schema = '')
  AND table_name NOT LIKE '%inner%'
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:   default
table_schema:    default
table_name:      describe_example
table_type:      BASE TABLE
table_collation: utf8mb4_0900_ai_ci
table_comment:   
```

<div id="views">
  ## VIEWS
</div>

Contiene las columnas leídas de la tabla del sistema [system.tables](/es/reference/system-tables/tables) cuando se utiliza el motor de tabla [View](/es/reference/engines/table-engines/special/view).

Columnas:

* `table_catalog` ([String](/es/reference/data-types/string)) — El nombre de la base de datos en la que se encuentra la tabla.
* `table_schema` ([String](/es/reference/data-types/string)) — El nombre de la base de datos en la que se encuentra la tabla.
* `table_name` ([String](/es/reference/data-types/string)) — Nombre de la tabla.
* `view_definition` ([String](/es/reference/data-types/string)) — consulta `SELECT` de la vista.
* `check_option` ([String](/es/reference/data-types/string)) — `NONE`, sin comprobación.
* `is_updatable` ([Enum8](/es/reference/data-types/enum)) — `NO`, la vista no es actualizable.
* `is_insertable_into` ([Enum8](/es/reference/data-types/enum)) — Indica si la vista creada está [materializada](/es/reference/statements/create/view#materialized-view). Valores posibles:
  * `NO` — La vista creada no está materializada.
  * `YES` — La vista creada está materializada.
* `is_trigger_updatable` ([Enum8](/es/reference/data-types/enum)) — `NO`, el trigger no es actualizable.
* `is_trigger_deletable` ([Enum8](/es/reference/data-types/enum)) — `NO`, el trigger no se elimina.
* `is_trigger_insertable_into` ([Enum8](/es/reference/data-types/enum)) — `NO`, no se insertan datos en el trigger.

**Ejemplo**

```sql title="Query" theme={null}
CREATE VIEW v (n Nullable(Int32), f Float64) AS SELECT n, f FROM t;
CREATE MATERIALIZED VIEW mv ENGINE = Null AS SELECT * FROM system.one;
SELECT table_catalog,
       table_schema,
       table_name,
       view_definition,
       check_option,
       is_updatable,
       is_insertable_into,
       is_trigger_updatable,
       is_trigger_deletable,
       is_trigger_insertable_into
FROM information_schema.views
WHERE table_schema = currentDatabase() 
LIMIT 1
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:              default
table_schema:               default
table_name:                 mv
view_definition:            SELECT * FROM system.one
check_option:               NONE
is_updatable:               NO
is_insertable_into:         YES
is_trigger_updatable:       NO
is_trigger_deletable:       NO
is_trigger_insertable_into: NO
```

<div id="key_column_usage">
  ## KEY\_COLUMN\_USAGE
</div>

Contiene columnas de la tabla del sistema [system.tables](/es/reference/system-tables/tables) que están restringidas por restricciones.

Columnas:

* `constraint_catalog` ([String](/es/reference/data-types/string)) — Actualmente no se usa. Siempre es `def`.
* `constraint_schema` ([String](/es/reference/data-types/string)) — El nombre del esquema (base de datos) al que pertenece la restricción.
* `constraint_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — El nombre de la restricción.
* `table_catalog` ([String](/es/reference/data-types/string)) — Actualmente no se usa. Siempre es `def`.
* `table_schema` ([String](/es/reference/data-types/string)) — El nombre del esquema (base de datos) al que pertenece la tabla.
* `table_name` ([String](/es/reference/data-types/string)) — El nombre de la tabla que tiene la restricción.
* `column_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — El nombre de la columna que tiene la restricción.
* `ordinal_position` ([UInt32](/es/reference/data-types/int-uint)) — Actualmente no se usa. Siempre es `1`.
* `position_in_unique_constraint` ([Nullable](/es/reference/data-types/nullable)([UInt32](/es/reference/data-types/int-uint))) — Actualmente no se usa. Siempre es `NULL`.
* `referenced_table_schema` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se usa. Siempre es NULL.
* `referenced_table_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se usa. Siempre es NULL.
* `referenced_column_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se usa. Siempre es NULL.

**Ejemplo**

```sql title="Query" theme={null}
CREATE TABLE test (i UInt32, s String) ENGINE MergeTree ORDER BY i;
SELECT constraint_catalog,
       constraint_schema,
       constraint_name,
       table_catalog,
       table_schema,
       table_name,
       column_name,
       ordinal_position,
       position_in_unique_constraint,
       referenced_table_schema,
       referenced_table_name,
       referenced_column_name
FROM information_schema.key_column_usage 
WHERE table_name = 'test' 
FORMAT Vertical;
```

```response title="Response" theme={null}
Row 1:
──────
constraint_catalog:            def
constraint_schema:             default
constraint_name:               PRIMARY
table_catalog:                 def
table_schema:                  default
table_name:                    test
column_name:                   i
ordinal_position:              1
position_in_unique_constraint: ᴺᵁᴸᴸ
referenced_table_schema:       ᴺᵁᴸᴸ
referenced_table_name:         ᴺᵁᴸᴸ
referenced_column_name:        ᴺᵁᴸᴸ
```

<div id="referential_constraints">
  ## REFERENTIAL\_CONSTRAINTS
</div>

Contiene información sobre claves foráneas. Actualmente devuelve un resultado vacío (sin filas), suficiente para ofrecer compatibilidad con herramientas de terceros como Tableau Online.

Columnas:

* `constraint_catalog` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `constraint_schema` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `constraint_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `unique_constraint_catalog` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `unique_constraint_schema` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `unique_constraint_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Actualmente no se utiliza.
* `match_option` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `update_rule` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `delete_rule` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `table_name` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.
* `referenced_table_name` ([String](/es/reference/data-types/string)) — Actualmente no se utiliza.

<div id="statistics">
  ## STATISTICS
</div>

Proporciona información sobre los índices de la tabla. Actualmente devuelve un resultado vacío (sin filas), lo justo para ofrecer compatibilidad con herramientas de terceros como Tableau Online.

<div id="collations">
  ## COLLATIONS
</div>

Proporciona información sobre las intercalaciones disponibles. Contiene las intercalaciones de [system.collations](/es/reference/system-tables/collations), además de dos filas para la compatibilidad con MySQL: `utf8mb4_0900_ai_ci` — la intercalación que el protocolo MySQL anuncia durante el handshake, en `SCHEMATA.DEFAULT_COLLATION_NAME` y en `TABLES.TABLE_COLLATION` — y `binary` — la seudointercalación que el protocolo MySQL asigna a las columnas numéricas y a otras columnas que no son de tipo String en los metadatos del conjunto de resultados—, para que un client compatible con MySQL que siga las intercalaciones anunciadas hasta esta vista pueda encontrarlas.

Columnas:

* `collation_name` ([String](/es/reference/data-types/string)) — El nombre de la intercalación.
* `character_set_name` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — El juego de caracteres asociado (`utf8mb4` para `utf8mb4_0900_ai_ci`, `binary` para `binary`; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
* `id` ([Nullable](/es/reference/data-types/nullable)([UInt64](/es/reference/data-types/int-uint))) — El ID de la intercalación de MySQL (`255` para `utf8mb4_0900_ai_ci`, `63` para `binary`; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
* `is_default` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Indica si la intercalación es la predeterminada de su juego de caracteres (`Yes` para ambas filas de compatibilidad con MySQL; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
* `is_compiled` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — Indica si la intercalación está compilada en el server (`Yes` para ambas filas de compatibilidad con MySQL; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
* `sortlen` ([Nullable](/es/reference/data-types/nullable)([UInt64](/es/reference/data-types/int-uint))) — La longitud mínima de ordenación (`0` para `utf8mb4_0900_ai_ci`, `1` para `binary`; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
* `pad_attribute` ([Nullable](/es/reference/data-types/nullable)([String](/es/reference/data-types/string))) — El atributo de relleno, `NO PAD` o `PAD SPACE` (`NO PAD` para ambas filas de compatibilidad con MySQL; de lo contrario, `NULL`). Se proporciona para la compatibilidad con MySQL.
