Spec-Zone.ru › MySQL 9.2

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.21.7, «Тихие изменения спецификации столбцов».

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

  • Field

    Название столбца.

  • Type

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

  • Collation

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

  • Null

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

  • Key

    Является ли столбец индексированным:

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

    • Если Key равно PRI, столбец является частью уникального или одним из столбцов в составном индексе.

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

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

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

    Индекс с несколькими столбцами может отображаться как индекс PRI, если он не может содержать NULL значений и нет PRIMARY KEY в таблице. Индекс с несколькими столбцами может отображаться как 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.21.11, «Сгенерированные невидимые первичные ключи».

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

Spec-Zone.ru

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