3.4 Получение информации о базах данных и таблицах
Что делать, если вы забыли имя базы данных или таблицы, или как выглядит структура определенной таблицы (например, как называются ее столбцы)? MySQL решает эту проблему с помощью нескольких операторов, которые предоставляют информацию о поддерживаемых базах данных и таблицах.
Вы уже видели SHOW
DATABASES, который перечисляет базы данных, управляемые сервером. Чтобы узнать, какая база данных выбрана в настоящее время, используйте функцию DATABASE():
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
Если вы еще не выбрали базу данных, результатом является NULL.
Чтобы узнать, какие таблицы содержит база данных по умолчанию (например, когда вы не уверены в имени таблицы), используйте этот оператор:
mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event |
| pet |
+---------------------+
Имя столбца в выводе, создаваемом этим оператором, всегда Tables_in_, где db_namedb_name — имя базы данных. Подробности см. в Разделе 13.7.5.37, «Оператор SHOW TABLES».
Если вы хотите узнать о структуре таблицы, оператор 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 задает значение по умолчанию столбца. Extra отображает специальную информацию о столбцах: если столбец был создан с опцией AUTO_INCREMENT, значение будет auto_increment, а не пустым.
DESC — сокращенная форма оператора DESCRIBE. Подробности см. в Разделе 13.8.1, «Оператор DESCRIBE».
Вы можете получить оператор CREATE TABLE, необходимый для создания существующей таблицы, используя оператор SHOW CREATE TABLE. Подробности см. в Разделе 13.7.5.10, «Оператор SHOW CREATE TABLE».
Если у таблицы есть индексы, SHOW INDEX FROM
предоставляет информацию об индексах. Подробности см. в Разделе 13.7.5.22, «Оператор SHOW INDEX».tbl_name
© 2025 Oracle
Licensed under the GPLv2 License.