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

MySQL控制台中,哪个命令显示任何给定表的模式?

572904 次浏览
SHOW CREATE TABLE yourTable;

SHOW COLUMNS FROM yourTable;

对于格式化输出:

describe [db_name.]table_name;

对于可用于创建表的SQL语句:

show create table [db_name.]table_name;

你也可以用简略的方式来描述表,比如desc

desc [db_name] table_name;

< p >使用db_name;< br > desc table_name; < / p >

你也可以使用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. 如何获取这个表所在的模式/数据库的名称?

鉴于已被接受的答案,OP显然打算以第一种方式解释它。如果有人从另一种角度看问题,试试

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