从MySQL控制台,什么命令显示任何给定表的模式?
问问题
542395 次
5 回答
616
对于格式化输出:
describe [db_name.]table_name;
对于可用于创建表的 SQL 语句:
show create table [db_name.]table_name;
于 2009-09-30T15:20:05.330 回答
114
SHOW CREATE TABLE yourTable;
或者
SHOW COLUMNS FROM yourTable;
于 2009-09-30T15:17:34.947 回答
19
您也可以使用简写作为描述作为desc
表描述。
desc [db_name.]table_name;
或者
使用 db_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 | |
+----------+-------------+------+-----+---------+-------+
于 2016-01-27T14:09:45.813 回答
15
也许这个问题需要在这里稍微更精确一点,因为它可以用两种不同的方式来阅读。IE
- 如何获取 mysql 中表的结构/定义?
- 如何获取此表所在的架构/数据库的名称?
鉴于已接受的答案,OP 显然打算以第一种方式对其进行解释。对于以其他方式阅读问题的任何人,请尝试
SELECT `table_schema`
FROM `information_schema`.`tables`
WHERE `table_name` = 'whatever';
于 2017-11-10T11:33:46.370 回答
6
SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
于 2016-10-14T10:31:49.467 回答