【发布时间】:2010-12-02 16:42:51
【问题描述】:
在MySQL 控制台中,什么命令可以显示任何给定表的架构?
【问题讨论】:
-
相关,如果感兴趣,我在this Answer写了一个Describe All Tables。
标签: mysql database schema database-schema
在MySQL 控制台中,什么命令可以显示任何给定表的架构?
【问题讨论】:
标签: mysql database schema database-schema
SHOW CREATE TABLE yourTable;
或
SHOW COLUMNS FROM yourTable;
【讨论】:
对于格式化输出:
describe [db_name.]table_name;
对于可用于创建表的 SQL 语句:
show create table [db_name.]table_name;
【讨论】:
desc [db_name.]table_name;。
您也可以将描述的简写为desc 用于表描述。
desc [db_name.]table_name;
或
使用数据库名称;
desc 表名;
您也可以使用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;
【讨论】:
也许这里的问题需要稍微精确一点,因为它可以以两种不同的方式阅读。即
鉴于已接受的答案,OP 显然打算以第一种方式对其进行解释。对于任何以其他方式阅读问题的人,请尝试
SELECT `table_schema`
FROM `information_schema`.`tables`
WHERE `table_name` = 'whatever';
【讨论】: