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_namedb_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.