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

dla*_*lin 349 mysql database schema database-schema

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

Omr*_*dan 495

describe [db_name.]table_name;
Run Code Online (Sandbox Code Playgroud)

对于格式化输出,或

show create table [db_name.]table_name;
Run Code Online (Sandbox Code Playgroud)

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

  • OP在7年前接受了答案.我认为他对这个答案很满意. (36认同)
  • 或简称`desc [db_name.]table_name;`。 (3认同)
  • 这不是答案。OP希望找出“ db_name”部分,并且该解决方案假定您已经知道 (2认同)
  • 在 Antiionio 的辩护中,一些系统将其相关表的集合称为模式而不是数据库。不确定是哪个或为什么。 (2认同)

Bob*_*bby 104

SHOW CREATE TABLE yourTable;
Run Code Online (Sandbox Code Playgroud)

要么

SHOW COLUMNS FROM yourTable;
Run Code Online (Sandbox Code Playgroud)


Som*_*luk 15

您还可以使用速记来描述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    |       |
+----------+-------------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)


Pau*_*ell 10

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

  1. 如何在mysql中获取表的结构/定义?
  2. 如何获取此表所在的架构/数据库的名称?

鉴于已接受的答案,OP明确意图将其解释为第一种方式.对于任何阅读问题的人,请尝试另一种方式

SELECT `table_schema` 
FROM `information_schema`.`tables` 
WHERE `table_name` = 'whatever';
Run Code Online (Sandbox Code Playgroud)


小智 5

SELECT COLUMN_NAME, TABLE_NAME,table_schema
FROM INFORMATION_SCHEMA.COLUMNS;
Run Code Online (Sandbox Code Playgroud)