3.4 Получение информации о базах данных и таблицах
Как быть, если вы забыли имя базы или таблицы, или структуру какой-либо из
таблиц (например имена столбцов)? В MySQL эта проблема решается при
помощи нескольких команд, выводящих информацию о базе данных и
содержащихся в ней таблицах.
Вы уже познакомились с командой SHOW DATABASES
, выводящей список
управляемых сервером баз данных. Определить, какая из них выбрана в данный
момент, можно с помощью функции DATABASE()
:
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
Если ни одна из баз не выбрана, результат будет пуст.
Выяснить, какие таблицы содержит текущая база данных (что необходимо,
если, например, никак не получается вспомнить имя нужной таблицы), можно
при помощи следующей команды:
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| event |
| pet |
+---------------------+
Узнать структуру таблицы можно при помощи команды DESCRIBE
, которая
выводит информацию о каждом из столбцов таблицы:
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name | varchar(20) | YES | | NULL | |
| owner | varchar(20) | YES | | NULL | |
| species | varchar(20) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| birth | date | YES | | NULL | |
| death | date | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
Field
- имя столбца, Type
- тип данных, к которому относится этот столбец,
NULL
указывает, может ли данный столбец содержать значения NULL
, Key -
является ли этот столбец индексным, и, наконец, Default
указывает значение
данного столбца по умолчанию.
Если для таблицы созданы индексы, информацию о них можно получить с
помощью команды SHOW INDEX FROM tbl_name
.