MySQL.RU .:. Одобрено лучшими российскими программистами

Справочное руководство по MySQL

4.5.6.1 Получение информации по базам данных, таблицам, столбцам и индексам

4.5.6.1 Получение информации по базам данных, таблицам, столбцам и индексам

Можно использовать два альтернативных синтаксиса - tbl_name FROM db_name и db_name.tbl_name. Приведенные ниже два оператора эквивалентны:

mysql> SHOW INDEX FROM mytable FROM mydb;
mysql> SHOW INDEX FROM mydb.mytable;

Команда SHOW DATABASES выдает список баз данных на компьютере, где установлен сервер MySQL. Этот список можно также получить, воспользовавшись инструментом командной строки mysqlshow. В версии 4.0.2 можно увидеть только те базы данных, для которых у вас есть какие-либо привилегии, если вы не имеете глобальной привилегии SHOW DATABASES.

Команда SHOW TABLES выводит список таблиц в указанной базе данных. Этот список также можно получить, используя команду mysqlshow db_name.

Примечание: если у пользователя нет никаких привилегий для таблицы, таблица не будет показана в результатах команды SHOW TABLES или mysqlshow db_name.

Команда SHOW OPEN TABLES выводит список таблиц, которые в настоящий момент открыты в кэше таблицы. See section 5.4.7 Открытие и закрытие таблиц в MySQL. В поле Comment указывается, сколько раз таблица кэшировалась (cached) и сколько раз использовалась (in_use).

Команда SHOW COLUMNS выводит список столбцов в заданной таблице. Если указать параметр FULL, то будут показаны также ваши привилегии для каждого столбца. Если типы столбцов отличаются от заданных в параметрах оператора CREATE TABLE, учтите, что MySQL иногда изменяет типы столбцов. See section 6.5.3.1 Молчаливые изменения определений столбцов.

Оператор DESCRIBE предоставляет почти такую же информацию, что и SHOW COLUMNS. See section 6.6.2 Синтаксис команды DESCRIBE (Получение информации о столбцах).

Команда SHOW FIELDS является синонимом команды SHOW COLUMNS, а команда SHOW KEYS - синонимом SHOW INDEX. Список столбцов или индексов таблицы можно также вывести при помощи команды mysqlshow db_name tbl_name или mysqlshow -k db_name tbl_name.

Команда SHOW INDEX выводит информацию по индексу в формате, подобном формату вывода запроса SQLStatistics в ODBC. Выводятся следующие столбцы:

Столбец Значение
Table Имя таблицы.
Non_unique 0 если индекс не может содержать дублирующихся значений.
Key_name Имя индекса.
Seq_in_index Порядковый номер столбца в индексе, начиная с 1.
Column_name Имя столбца.
Collation Как столбцы отсортированы в индексе. В MySQL в данном столбце могут присутствовать значения 'A' (в порядке возрастания) или NULL (не отсортирован).
Cardinality Количество уникальных значений в индексе. Обновляется путем запуска isamchk -a.
Sub_part Количество индексированных символов, если столбец индексируется частично. Если проиндексирован весь ключ, то будет содержаться значение NULL.
Null Содержит значение 'YES', если столбец может содержать NULL.
Index_type Используемый метод индексирования.
Comment Различные примечания. На данный момент в версиях MySQL < 4.0.2 выдается, является индекс FULLTEXT или нет.

Обратите внимание на то, что значение Cardinality подсчитывается по результатам статистики, сохраняющейся в виде целых чисел, которые недостаточно точны для небольших таблиц.

Столбцы Null и Index_type были добавлены начиная с версии MySQL 4.0.2.