¿Cómo muestro el esquema de una tabla en una base de datos MySQL?

Desde la consola MySQL, ¿qué comando muestra el esquema de cualquier tabla dada?

describe [db_name.]table_name; 

para salida formateada, o

 show create table [db_name.]table_name; 

para la statement SQL que se puede usar para crear una tabla.

 SHOW CREATE TABLE yourTable; 

o

 SHOW COLUMNS FROM yourTable; 

También puede usar la abreviatura para describir como desc para la descripción de la tabla.

desc [nombre_db.] nombre_tabla;

o

use db_name;
desc table_name;

También puede usar explain para la descripción de la tabla.

explicar [db_name.] table_name;

Ver el documento oficial

Dará salida como:

 +----------+-------------+------+-----+---------+-------+ | 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 | | +----------+-------------+------+-----+---------+-------+ 
 SELECT COLUMN_NAME, TABLE_NAME,table_schema FROM INFORMATION_SCHEMA.COLUMNS; 

Tal vez la pregunta deba ser un poco más precisa aquí sobre lo que se requiere porque se puede leer de dos maneras diferentes. es decir

  1. ¿Cómo obtengo la estructura / definición de una tabla en mysql?
  2. ¿Cómo obtengo el nombre del esquema / base de datos en que se encuentra esta tabla?

Dada la respuesta aceptada, el PO claramente pretendía que se interpretara de la primera manera. Para cualquiera que lea la pregunta, intente de otra manera

 SELECT `table_schema` FROM `information_schema`.`tables` WHERE `table_name` = 'whatever';