{DESCRIBE | DESC} tbl_name
[col_name
| wild
]
DESCRIBE
provides information about the
columns in a table. It is a shortcut for SHOW COLUMNS
FROM
. These statements also display information for
views. (See Section 13.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) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| Country | char(3) | NO | UNI | | |
| District | char(20) | YES | MUL | | |
| Population | int(11) | NO | | 0 | |
+------------+----------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
Field
indicates the column name.
The Null
field indicates whether
NULL
values can be stored in the column.
The Key
field indicates whether the column is
indexed. A value of PRI
indicates that the
column is part of the table's primary key.
UNI
indicates that the column is part of a
UNIQUE
index. The MUL
value indicates that multiple occurrences of a given value are
allowed within the column.
One reason for MUL
to be displayed on a
UNIQUE
index is that several columns form a
composite UNIQUE
index; although the
combination of the columns is unique, each column can still hold
multiple occurrences of a given value. Note that in a composite
index, only the leftmost column of the index has an entry in the
Key
field.
The Default
field indicates the default value
that is assigned to the column.
The Extra
field contains any additional
information that is available about a given column. In the
example shown, the Extra
field indicates that
the Id
column was created with the
AUTO_INCREMENT
keyword.
The DESCRIBE
statement is provided for
compatibility with Oracle.
The SHOW CREATE TABLE
and SHOW TABLE
STATUS
statements also provide information about
tables. See Section 13.5.4, “SHOW
Syntax”.