28.3.8 Таблица INFORMATION_SCHEMA COLUMNS
Таблица COLUMNS предоставляет информацию о столбцах в таблицах. Соответствующая таблица ST_GEOMETRY_COLUMNS предоставляет информацию о столбцах таблиц, хранящих пространственные данные. См. Раздел 28.3.37, «Таблица 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Для столбцов типа строка (character string) — имя набора символов.
-
COLLATION_NAMEДля столбцов типа строка (character string) — имя сортировки.
-
COLUMN_TYPEТип данных столбца.
Значение
DATA_TYPE— это только имя типа без дополнительной информации. ЗначениеCOLUMN_TYPEсодержит имя типа и, возможно, другую информацию, такую как точность или длина. -
COLUMN_KEYИнформация о наличии индекса в столбце:
Если значение
COLUMN_KEYпустое, столбец либо не индексирован, либо индексирован только как дополнительный столбец в многостолбцовом, не уникальном индексе.Если
COLUMN_KEYравноPRI, столбец является частьюPRIMARY KEYили является одним из столбцов в многостолбцовом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.21.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.21.11, «Сгенерированные невидимые первичные ключи».
© 2025 Oracle
Licensed under the GPLv2 License.