Паутов Алексей В.
Шрифт:
Чтобы избегать использовать любое имя, которое зарезервировано в стандарте SQL, DB2 или Oracle, имена некоторых столбцов, отмеченных как MySQL extension переделаны. Например, COLLATION на TABLE_COLLATION в таблице TABLES. Ссписок зарезервированных слов изложен в конце статьи на http://www.dbazine.com/gulutzan5.shtml.
Определение для символьных столбцов (например, TABLES.TABLE_NAME) вообще VARCHAR(N) CHARACTER SET utf8, где N по крайней мере 64.
Каждый раздел указывает то, какая инструкция SHOW является эквивалентной SELECT, который собирает информацию из INFORMATION_SCHEMA, если имеется такая инструкция.
Обратите внимание: в настоящее время, имеются некоторые столбцы, расставленные не по порядку, а кое-какие еще вообще отсутствуют.
9.1. Таблица INFORMATION_SCHEMA SCHEMATA
Схема является базой данных, так что таблица SCHEMATA обеспечивает информацию относительно баз данных
INFORMATION_SCHEMA Name | SHOW Name | Remarks
CATALOG_NAME | | NULL
SCHEMA_NAME | | База данных
DEFAULT_CHARACTER_SET_NAME | |
DEFAULT_COLLATION_NAME | |
SQL_PATH | | NULL
Следующие инструкции эквивалентны:
SELECT SCHEMA_NAME AS `Database` FROM INFORMATION_SCHEMA.SCHEMATA
[WHERE SCHEMA_NAME LIKE 'wild']
SHOW DATABASES [LIKE 'wild']
9.2. Таблица INFORMATION_SCHEMA TABLES
Таблица TABLES обеспечивает информацию относительно таблиц в базах данных.
INFORMATION_SCHEMA
Name
SHOW
Name
Remarks
TABLE_CATALOG
NULL
TABLE_SCHEMA
Table_
…
TABLE_NAME
Table_
…
TABLE_TYPE
ENGINE
Тип памяти
MySQL extension
VERSION
Version
MySQL extension
ROW_FORMAT
Row_format
MySQL extension
TABLE_ROWS
Rows
MySQL extension
AVG_ROW_LENGTH
Avg_row_length
MySQL extension
DATA_LENGTH
Data_length
MySQL extension
MAX_DATA_LENGTH
Max_data_length
MySQL extension
INDEX_LENGTH
Index_length
MySQL extension
DATA_FREE
Data_free
MySQL extension
AUTO_INCREMENT
Auto_increment
MySQL extension
CREATE_TIME
Create_time
MySQL extension
UPDATE_TIME
Update_time
MySQL extension
CHECK_TIME
Check_time
MySQL extension
TABLE_COLLATION
Collation
MySQL extension
CHECKSUM
Checksum
MySQL extension
CREATE_OPTIONS
Create_options
MySQL extension
TABLE_COMMENT
Комментарий
MySQL extension
Примечания:
TABLE_SCHEMA и TABLE_NAME одиночное поле в выводе SHOW, например: Table_in_db1.
TABLE_TYPE должен быть BASE TABLE или VIEW. Если таблица временная, то TABLE_TYPE = TEMPORARY. Не имеется никаких временных view, так что это однозначно.
Для разбитых на разделы таблиц, начиная с MySQL 5.1.9, столбец ENGINE показывает тип памяти, используемого всеми разделами. Раньше этот столбец показывал для таких таблиц PARTITION.
Столбец TABLE_ROWS NULL, если таблица находится в базе данных INFORMATION_SCHEMA. Для таблиц InnoDB счетчтк строк только грубая оценка, используемая в оптимизации SQL.
Для таблиц, использующих тип памяти NDBCLUSTER, начиная с MySQL 5.1.12, столбец DATA_LENGTH отражает истинное количество памяти для столбцов с переменной шириной. См. Глюк #18413.
Обратите внимание: так как MySQL Cluster распределяет память для столбцов с переменной шириной в 10-страничных блоках по 32 килобайта каждый, использование места для таких столбцов сообщено в приращениях по 320 KB.
Мы не имеем ничего для заданного по умолчанию набора символов таблицы. TABLE_COLLATION близко, потому что имена объединения начинаются с имени набора символов.