如何在MySQL数据库中显示表的架构?

时间:2009-09-30 15:15:32

标签: mysql database schema database-schema

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

5 个答案:

答案 0 :(得分:466)

describe [db_name.]table_name;

表示格式化输出,或

show create table [db_name.]table_name;

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

答案 1 :(得分:100)

SHOW CREATE TABLE yourTable;

SHOW COLUMNS FROM yourTable;

答案 2 :(得分:14)

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

  

desc [db_name。] table_name;

  

使用db_name;
  desc table_name;

您也可以使用explain进行表格说明。

  

解释[db_name。] table_name;

请参阅official doc

将输出如下:

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

答案 3 :(得分:8)

这里的问题可能需要稍微更准确一些,因为它可以通过两种不同的方式来阅读 。即

  1. 如何在mysql中获取表的结构/定义?
  2. 如何获取此表所在的架构/数据库的名称?
  3. 鉴于已接受的答案,OP明确意图将其解释为第一种方式。对于任何以另一种方式阅读问题的人,请尝试

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

答案 4 :(得分:5)

SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;