Spec-Zone.ru › MySQL 5.7

3.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 — имя базы данных. Подробности см. в Разделе 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 tbl_name предоставляет информацию об индексах. Подробности см. в Разделе 13.7.5.22, «Оператор SHOW INDEX».

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

Spec-Zone.ru

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