Spec-Zone.ru › MySQL 5.7

24.3.5 Таблица INFORMATION_SCHEMA COLUMNS

Таблица COLUMNS предоставляет информацию о столбцах в таблицах.

Таблица COLUMNS содержит следующие столбцы:

  • TABLE_CATALOG

    Имя каталога, к которому относится таблица, содержащая столбец. Это значение всегда def.

  • TABLE_SCHEMA

    Имя схемы (базы данных), к которой относится таблица, содержащая столбец.

  • TABLE_NAME

    Имя таблицы, содержащей столбец.

  • COLUMN_NAME

    Имя столбца.

  • ORDINAL_POSITION

    Позиция столбца в таблице. ORDINAL_POSITION необходима, так как вы можете захотеть сказать ORDER BY ORDINAL_POSITION. В отличие от SHOW COLUMNS, SELECT из таблицы COLUMNS не имеет автоматического упорядочения.

  • COLUMN_DEFAULT

    Значение по умолчанию для столбца. Это NULL, если столбец имеет явное значение по умолчанию NULL, или если определение столбца не включает в себя DEFAULT клаузу.

  • IS_NULLABLE

    Возможность NULL для столбца. Значение YES, если NULL значения могут быть сохранены в столбце, NO если нет.

  • DATA_TYPE

    Тип данных столбца.

    Значение DATA_TYPE представляет только имя типа без дополнительной информации. Значение COLUMN_TYPE содержит имя типа и, возможно, другую информацию, такую как точность или длина.

  • CHARACTER_MAXIMUM_LENGTH

    Для строковых столбцов максимальная длина в символах.

  • CHARACTER_OCTET_LENGTH

    Для строковых столбцов максимальная длина в байтах.

  • NUMERIC_PRECISION

    Для числовых столбцов числовая точность.

  • NUMERIC_SCALE

    Для числовых столбцов числовая разрядность.

  • DATETIME_PRECISION

    Для временных столбцов точность дробных секунд.

  • CHARACTER_SET_NAME

    Для символьных строк имя набора символов.

  • COLLATION_NAME

    Для символьных строк имя сортировки.

  • COLUMN_TYPE

    Тип данных столбца.

    Значение DATA_TYPE представляет только имя типа без дополнительной информации. Значение COLUMN_TYPE содержит имя типа и, возможно, другую информацию, такую как точность или длина.

  • COLUMN_KEY

    Информация о наличии индекса для столбца:

    • Если COLUMN_KEY пусто, столбец либо не индексирован, либо индексирован только как дополнительный столбец в многостолбцовом, не уникальном индексе.

    • Если COLUMN_KEY равно PRI, столбец является PRIMARY KEY или является одним из столбцов в многостолбцовом PRIMARY KEY.

    • Если COLUMN_KEY равно UNI, столбец является первым столбцом UNIQUE индекса. (UNIQUE индекс допускает несколько NULL значений, но вы можете определить, разрешает ли столбец NULL, проверив столбец Null.)

    • Если COLUMN_KEY равно MUL, столбец является первым столбцом не уникального индекса, в котором допускается несколько вхождений заданного значения в столбце.

    Если к данному столбцу таблицы применимо более одного из COLUMN_KEY значений, COLUMN_KEY отображает то, у которого самый высокий приоритет, в порядке PRI, UNI, MUL.

    UNIQUE индекс может отображаться как PRI, если он не может содержать NULL значений и нет PRIMARY KEY в таблице. UNIQUE индекс может отображаться как MUL, если несколько столбцов образуют составной UNIQUE индекс; хотя комбинация столбцов уникальна, каждый столбец все еще может содержать несколько вхождений заданного значения.

  • EXTRA

    Любая дополнительная информация, доступная о данном столбце. Значение непустое в следующих случаях:

    • auto_increment для столбцов, у которых есть атрибут AUTO_INCREMENT.

    • on update CURRENT_TIMESTAMP для столбцов TIMESTAMP или DATETIME, у которых есть атрибут ON UPDATE CURRENT_TIMESTAMP.

    • STORED GENERATED или VIRTUAL GENERATED для сгенерированных столбцов.

  • PRIVILEGES

    Права доступа, которые у вас есть к столбцу.

  • COLUMN_COMMENT

    Любой комментарий, включенный в определение столбца.

  • GENERATION_EXPRESSION

    Для сгенерированных столбцов отображает выражение, используемое для вычисления значений столбца. Пустое для несгенерированных столбцов. Подробнее о сгенерированных столбцах см. Раздел 13.1.18.7, «CREATE TABLE и сгенерированные столбцы».

Примечания

  • В SHOW COLUMNS отображение Type включает значения из нескольких разных столбцов COLUMNS.

  • CHARACTER_OCTET_LENGTH должно быть таким же, как CHARACTER_MAXIMUM_LENGTH, за исключением многобайтовых наборов символов.

  • CHARACTER_SET_NAME может быть получено из COLLATION_NAME. Например, если вы говорите SHOW FULL COLUMNS FROM t, и вы видите в столбце COLLATION_NAME значение latin1_swedish_ci, то набор символов - это то, что находится перед первой подчеркивающей чертой: latin1.

Информация о столбцах также доступна из оператора SHOW COLUMNS. См. Раздел 13.7.5.5, «Оператор SHOW COLUMNS». Следующие операторы почти эквивалентны:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE table_name = 'tbl_name'
  [AND table_schema = 'db_name']
  [AND column_name LIKE 'wild']

SHOW COLUMNS
  FROM tbl_name
  [FROM db_name]
  [LIKE 'wild']

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/information-schema-columns-table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API