Spec-Zone.ru › MySQL 9.2

5.4 Получение информации о базах данных и таблицах

Что делать, если вы забыли имя базы данных или таблицы, или как устроена таблица (например, как называются её столбцы)? MySQL решает эту проблему несколькими операторами, которые предоставляют информацию о поддерживаемых базах данных и таблицах.

Вы уже видели SHOW DATABASES, который отображает базы данных, управляемые сервером. Чтобы узнать, какая база данных выбрана в данный момент, используйте функцию DATABASE():

mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie  |
+------------+

Если база данных еще не выбрана, результат — NULL.

Чтобы узнать, какие таблицы содержит базовая база данных (например, если вы не уверены в имени таблицы), используйте этот оператор:

mysql> SHOW TABLES;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| event               |
| pet                 |
+---------------------+

Имя столбца в выводе, созданном этим оператором, всегда Tables_in_db_name, где db_name — имя базы данных. Подробнее см. Раздел 15.7.7.39, «Оператор 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. Подробнее см. Раздел 15.8.1, «Оператор DESCRIBE».

Вы можете получить оператор CREATE TABLE, необходимый для создания существующей таблицы, с помощью оператора SHOW CREATE TABLE. Подробнее см. Раздел 15.7.7.12, «Оператор SHOW CREATE TABLE».

Если в таблице есть индексы, SHOW INDEX FROM tbl_name предоставляет информацию об них. Подробнее об этом операторе см. Раздел 15.7.7.24, «Оператор SHOW INDEX».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/getting-information.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API