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