La plupart des réponses sont des doublons, il peut être utile de les regrouper. Fondamentalement, deux options simples ont été proposées.
Première option
La première option a 4 alias différents, dont certains sont assez courts:
EXPLAIN db_name.table_name;
DESCRIBE db_name.table_name;
SHOW FIELDS FROM db_name.table_name;
SHOW COLUMNS FROM db_name.table_name;
(NB: comme alternative à db_name.table_name
, on peut utiliser un second FROM
:db_name FROM table_name
.
Cela donne quelque chose comme:
+------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| product_id | int(11) | NO | PRI | NULL | |
| name | varchar(255) | NO | MUL | NULL | |
| description | text | NO | | NULL | |
| meta_title | varchar(255) | NO | | NULL | |
+------------------+--------------+------+-----+---------+-------+
Deuxième option
La deuxième option est un peu plus longue:
SELECT
COLUMN_NAME, DATA_TYPE
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'db_name'
AND
TABLE_NAME = 'table_name';
C'est aussi moins bavard:
+------------------+-----------+
| column_name | DATA_TYPE |
+------------------+-----------+
| product_id | int |
| name | varchar |
| description | text |
| meta_title | varchar |
+------------------+-----------+
Il a cependant l'avantage de permettre la sélection par colonne, en utilisant AND COLUMN_NAME = 'column_name'
(ou like
).