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