MySQL/DESCRIBE

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

DESCRIBE (он же сокращённо DESC, ru опишите, описывать) — внутренний SQL оператор относящийся сугубо к СУБД MySQL и не входящий в общую спецификацию языка SQL. Команда DESCRIBE показывает структуру созданных таблиц БД.

DESCRIBE отображает информацию о столбцах в таблице. Это не, что иное как псевдоним для SHOW COLUMNS FROM. col_name может быть именем столбца или строкой содержащей SQL «%» и «_» символы подстановки для получения на выходе информации только для столбца имя которого соответствует данной строке. Там не надо заключать строку в кавычки если только она не содержит пробелов или других специальных символов.

Примечание: Операторы DESCRIBE и EXPLAIN являются синонимами. На практике ключевое слово DESCRIBE используется чаще для получения информации о структуре таблицы, то время как EXPLAIN используется для получения информации выполнения запроса (то есть, объяснение того, как MySQL будет выполнять запрос). Однако анализатор MySQL DESCRIBE и EXPLAIN рассматривает полностью как синонимы.
Примечание: Команда DESCRIBE не входит в стандарт SQL и является внутренней командой СУБД MySQL.

Синтаксис DESCRIBE

Облегчённый синтаксис:

DESCRIBE tаble_name

Здесь tаble_name — имя таблицы структура которой запрашивается для отображения в удобочитаемом виде.

Полный синтаксис:

{DESCRIBE | DESC} <em><code>tbl_name</code></em> [<em><code>col_name</code></em> | <em><code>wild</code></em>]

Примеры использования оператора DESCRIBE

Показать (описать) структуру таблицы forums:

mysql> DESCRIBE forums;

Показать структуру таблицы City:

mysql> DESCRIBE City;
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| Id         | int(11)  |      | PRI | NULL    | auto_increment |
| Name       | char(35) |      |     |         |                |
| Country    | char(3)  |      | UNI |         |                |
| District   | char(20) | YES  | MUL |         |                |
| Population | int(11)  |      |     | 0       |                |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)

Замечания

Команда DESCRIBE не входит в стандарт SQL и является внутренней командой СУБД MySQL.