Spec-Zone.ru › MySQL 8.4

15.7.7.6 Заявление SHOW COLUMNS

SHOW [EXTENDED] [FULL] {COLUMNS | FIELDS}
    {FROM | IN} tbl_name
    [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]

SHOW COLUMNS отображает информацию о столбцах в заданной таблице. Оно также работает для представлений. SHOW COLUMNS отображает информацию только для тех столбцов, для которых у вас есть какие-то привилегии.

mysql> SHOW COLUMNS FROM City;
+-------------+----------+------+-----+---------+----------------+
| Field       | Type     | Null | Key | Default | Extra          |
+-------------+----------+------+-----+---------+----------------+
| ID          | int(11)  | NO   | PRI | NULL    | auto_increment |
| Name        | char(35) | NO   |     |         |                |
| CountryCode | char(3)  | NO   | MUL |         |                |
| District    | char(20) | NO   |     |         |                |
| Population  | int(11)  | NO   |     | 0       |                |
+-------------+----------+------+-----+---------+----------------+

Альтернативой синтаксису tbl_name FROM db_name является db_name.tbl_name. Эти два заявления эквивалентны:

SHOW COLUMNS FROM mytable FROM mydb;
SHOW COLUMNS FROM mydb.mytable;

Необязательное ключевое слово EXTENDED приводит к тому, что вывод будет включать информацию о скрытых столбцах, которые MySQL использует внутри и которые не доступны пользователям.

Необязательное ключевое слово FULL приводит к тому, что вывод будет включать кодировку столбца и комментарии, а также привилегии, которые у вас есть для каждого столбца.

Оператор LIKE, если он присутствует, указывает, какие имена столбцов нужно сопоставить. Оператор WHERE может быть использован для выбора строк с использованием более общих условий, как описано в Разделе 28.8, «Расширения для заявлений SHOW».

Типы данных могут отличаться от ожидаемых на основе заявления CREATE TABLE, поскольку MySQL иногда изменяет типы данных при создании или изменении таблицы. Условия, при которых это происходит, описаны в Разделе 15.1.20.7, «Неявные изменения спецификаций столбцов».

SHOW COLUMNS отображает следующие значения для каждого столбца таблицы:

  • Field

    Имя столбца.

  • Type

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

  • Collation

    Кодировка для небинарных строковых столбцов или NULL для других столбцов. Это значение отображается только при использовании ключевого слова FULL.

  • Null

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

  • Key

    Индексирован ли столбец:

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

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

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

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

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

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

  • Default

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

  • Extra

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

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

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

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

    • DEFAULT_GENERATED для столбцов, у которых есть выражение по умолчанию.

  • Privileges

    Привилегии, которые у вас есть для столбца. Это значение отображается только при использовании ключевого слова FULL.

  • Comment

    Любой комментарий, включенный в определение столбца. Это значение отображается только при использовании ключевого слова FULL.

Информация о столбцах таблицы также доступна из INFORMATION_SCHEMA COLUMNS таблицы. См. Раздел 28.3.8, «Таблица INFORMATION_SCHEMA COLUMNS». Расширенная информация о скрытых столбцах доступна только с помощью SHOW EXTENDED COLUMNS; её нельзя получить из COLUMNS таблицы.

Вы можете перечислить столбцы таблицы с помощью команды mysqlshow db_name tbl_name.

Заявление DESCRIBE предоставляет информацию, аналогичную SHOW COLUMNS. См. Раздел 15.8.1, «Заявление DESCRIBE».

Заявления SHOW CREATE TABLE, SHOW TABLE STATUS и SHOW INDEX также предоставляют информацию о таблицах. См. Раздел 15.7.7, «Заявления SHOW».

SHOW COLUMNS по умолчанию включает сгенерированный невидимый первичный ключ таблицы, если он есть. Вы можете подавить отображение этой информации в выводе заявления, задав show_gipk_in_create_table_and_information_schema = OFF. Дополнительную информацию см. в Разделе 15.1.20.11, «Сгенерированные невидимые первичные ключи».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/show-columns.html

Spec-Zone.ru

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