如何在MySQL数据库中显示表的模式?

从MySQL控制台,什么命令显示任何给定的表的架构?

describe [db_name.]table_name; 

为格式化输出,或

 show create table [db_name.]table_name; 

用于可用于创build表的SQL语句。

 SHOW CREATE TABLE yourTable; 

要么

 SHOW COLUMNS FROM yourTable; 

您也可以使用简写描述作为desc来描述表格。

desc [db_name。] table_name;

要么

使用db_name;
desc table_name;

你也可以使用explain来表格描述。

解释[db_name。] table_name;

见官方文档

将产生如下输出:

 +----------+-------------+------+-----+---------+-------+ | 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; 

也许这个问题在这里需要稍微更精确一点,因为它可以用两种不同的方式来阅读。 即

  1. 如何获得mysql中的表的结构/定义?
  2. 我如何得到这个表所在的模式/数据库的名字?

鉴于接受的答案,行动选举明显打算将其解释为第一种方式。 对于任何人以另一种方式阅读的问题尝试

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