{DESCRIBE | DESC} tbl_name [col_name | wild]
DESCRIBE provides information about the columns
in a table. It is a shortcut for SHOW COLUMNS
FROM. (See Section 12.5.4.3, “SHOW COLUMNS Syntax”.)
col_name can be a column name, or a
string containing the SQL “%” and
“_” wildcard characters to obtain
output only for the columns with names matching the string. There
is no need to enclose the string within quotes unless it contains
spaces or other special characters.
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)
The description for SHOW COLUMNS provides more
information about the output columns (see
Section 12.5.4.3, “SHOW COLUMNS Syntax”).
If the data types differ from what you expect them to be based on
a CREATE TABLE statement, note that MySQL
sometimes changes data types when you create or alter a table. The
conditions under which this occurs are described in
Section 12.1.5.1, “Silent Column Specification Changes”.
The DESCRIBE statement is provided for
compatibility with Oracle.
The SHOW CREATE TABLE, SHOW TABLE
STATUS, and SHOW INDEX statements
also provide information about tables. See Section 12.5.4, “SHOW Syntax”.

User Comments
A note on privileges:
The DESCRIBE command appears to be a shorthand for SELECT.
Thus, the privileges for DESCRIBE will be the privileges for SELECT.
Add your own comment.