28.3.8 Таблица INFORMATION_SCHEMA COLUMNS
Таблица COLUMNS предоставляет информацию о столбцах в таблицах. Связанная ST_GEOMETRY_COLUMNS таблица содержит информацию о столбцах таблиц, хранящих пространственные данные. Смотрите Раздел 28.3.35, «Таблица INFORMATION_SCHEMA ST_GEOMETRY_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.Если
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для сгенерированных столбцов.DEFAULT_GENERATEDдля столбцов, имеющих значение по умолчанию в виде выражения.
-
PRIVILEGESПривилегии, которые у вас есть для столбца.
-
COLUMN_COMMENTЛюбой комментарий, включенный в определение столбца.
-
GENERATION_EXPRESSIONДля сгенерированных столбцов отображает выражение, используемое для вычисления значений столбца. Пусто для несгенерированных столбцов. Для получения информации о сгенерированных столбцах смотрите Раздел 15.1.20.8, «CREATE TABLE и сгенерированные столбцы».
-
SRS_IDЭто значение применимо к пространственным столбцам. Оно содержит значение столбца
SRID, которое указывает пространственную систему координат для значений, хранящихся в столбце. Смотрите Раздел 13.4.1, «Пространственные типы данных» и Раздел 13.4.5, «Поддержка пространственных систем координат». Значение равноNULLдля не пространственных столбцов и пространственных столбцов без атрибутаSRID.
Примечания
В
SHOW COLUMNSотображениеTypeвключает значения из нескольких различных столбцовCOLUMNS.CHARACTER_OCTET_LENGTHдолжно быть таким же, какCHARACTER_MAXIMUM_LENGTH, за исключением многобайтовых наборов символов.CHARACTER_SET_NAMEможет быть получено изCOLLATION_NAME. Например, если вы используетеSHOW FULL COLUMNS FROM t, и вы видите в столбцеCOLLATION_NAMEзначениеutf8mb4_swedish_ci, набор символов — это то, что находится перед первой подчёркивающей чертой:utf8mb4.
Информация о столбцах также доступна из оператора SHOW COLUMNS. Смотрите Раздел 15.7.7.6, «Оператор 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']
Информация о сгенерированных невидимых столбцах первичного ключа отображается в этой таблице по умолчанию. Вы можете скрыть такую информацию, установив show_gipk_in_create_table_and_information_schema
= OFF. Для получения более подробной информации, см. Раздел 15.1.20.11, «Сгенерированные невидимые первичные ключи».
© 2025 Oracle
Licensed under the GPLv2 License.