SHOW [FULL] COLUMNS FROMtbl_name[FROMdb_name] [LIKE 'pattern' | WHEREexpr]
SHOW COLUMNS displays information about the
columns in a given table. It also works for views. The
LIKE clause, if present,
indicates which column names to match. The
WHERE clause can be given to select rows
using more general conditions, as discussed in
Section 25.29, “Extensions to SHOW Statements”.
SHOW COLUMNS displays information only for
those columns that you have some privilege for.
mysql> SHOW COLUMNS FROM 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)
The FULL keyword causes the output to
include the column collation and comments, as well as the
privileges you have for each column.
You can use db_name.tbl_name as an
alternative to the
syntax. In other
words, these two statements are equivalent:
tbl_name FROM
db_name
mysql>SHOW COLUMNS FROM mytable FROM mydb;mysql>SHOW COLUMNS FROM mydb.mytable;
SHOW COLUMNS displays the following values
for each table column:
Field indicates the column name.
Type indicates the column data type.
Collation indicates the collation for
non-binary string columns, or NULL for
other columns. This value is displayed only if you use the
FULL keyword.
The Null field contains
YES if NULL values can
be stored in the column, NO if not.
The Key field indicates whether the column
is indexed:
If Key is empty, the column either is
not indexed or is indexed only as a secondary column in a
multiple-column, non-unique index.
If Key is PRI, the
column is a PRIMARY KEY or is one of
the columns in a multiple-column PRIMARY
KEY.
If Key is UNI, the
column is the first column of a unique-valued index that
cannot contain NULL values.
If Key is MUL,
multiple occurrences of a given value are allowed within
the column. The column is the first column of a non-unique
index or a unique-valued index that can contain
NULL values.
If more than one of the Key values applies
to a given column of a table, Key displays
the one with the highest priority, in the order
PRI, UNI,
MUL.
A UNIQUE index may be displayed as
PRI if it cannot contain
NULL values and there is no
PRIMARY KEY in the table. A
UNIQUE index may display as
MUL if 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.
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.
Privileges indicates the privileges you
have for the column. This value is displayed only if you use
the FULL keyword.
Comment indicates any comment the column
has. This value is displayed only if you use the
FULL keyword.
SHOW FIELDS is a synonym for SHOW
COLUMNS. You can also list a table's columns with
the mysqlshow db_name
tbl_name command.
The DESCRIBE statement provides information
similar to SHOW COLUMNS. See
Section 12.3.1, “DESCRIBE Syntax”.
The SHOW CREATE TABLE, SHOW TABLE
STATUS, and SHOW INDEX statements
also provide information about tables. See
Section 12.5.5, “SHOW Syntax”.

User Comments
When programming in PHP, ASP and the like I for example want to get the values from an "enum"
when querying like:
SHOW columns FROM table
if you load the result in an array it will look like this:
array([0],[Field],[1],[Type],[2],[Null],[3],[Key],[4],[Default],[5],[Extra])
Where the number, [x], gives the same value as the name, [name].
Good to know when getting the values for a enum field.
If you want to do this in PHP here is a good example:
http://se2.php.net/manual/en/function.mysql-fetch-field.php ->read user comments
Add your own comment.