web-dev-qa-db-fra.com

Comment afficher le schéma d'une table dans une base de données MySQL?

Depuis la console MySQL, quelle commande affiche le schéma d’une table donnée?

340
dlamblin
describe [db_name.]table_name;

pour une sortie formatée, ou

show create table [db_name.]table_name;

pour l'instruction SQL pouvant être utilisée pour créer une table.

481
Omry Yadan
SHOW CREATE TABLE yourTable;

ou

SHOW COLUMNS FROM yourTable;
102
Bobby

Vous pouvez également utiliser un raccourci pour décrire comme desc pour la description du tableau.

desc [nom_base.] nom_table;

ou

utilisez nom_base;
nom_table;

Vous pouvez également utiliser explain pour la description du tableau.

expliquer [nom_base.] nom_table;

Voir doc officiel

Donnera une sortie comme:

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(10)     | NO   | PRI | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| age      | int(10)     | YES  |     | NULL    |       |
| sex      | varchar(10) | YES  |     | NULL    |       |
| sal      | int(10)     | YES  |     | NULL    |       |
| location | varchar(20) | YES  |     | Pune    |       |
+----------+-------------+------+-----+---------+-------+
15
Somnath Muluk

Peut-être que la question doit être un peu plus précise ici sur ce qui est requis parce que peut être lu de deux manières différentes. c'est à dire.

  1. Comment puis-je obtenir la structure/définition d'une table dans mysql?
  2. Comment puis-je obtenir le nom du schéma/base de données dans lequel cette table réside?

Compte tenu de la réponse acceptée, le PO souhaitait clairement qu'il soit interprété de la première manière. Pour quiconque lisant la question dans l'autre sens, essayez

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';
9
Paul Campbell
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
5
Lam