首页Mysql查看表结构
Created At : 2021-11-13
Last Updated: 2021-12-05

Mysql查看表结构

使用SQL语句创建好数据表之后,可以查看表结构的定义,以确认表的定义是否正确。

在MySQL中,查看表结构可以使用DESCRIBE和SHOW CREATE TABLE语句。本节将针对这两个语句分别进行详细的讲解。

DESCRIBE/DESC

DESCRIBE/DESC语句可以查看表的字段信息,其中包括字段名、字段数据类型、是否为主键、是否有默认值等。

操作演示:

DESCRIBE sys_log;
-- 或
DESC sys_log;

-- 返回结果如下:
Field      |Type        |Null|Key|Default|Extra|
-----------+------------+----+---+-------+-----+
id         |bigint      |NO  |PRI|       |     |
uid        |int         |YES |   |       |     |
username   |varchar(100)|NO  |   |       |     |
method     |varchar(200)|NO  |   |       |     |
content    |text        |NO  |   |       |     |
create_time|datetime    |YES |   |       |     |
operator_ip|varchar(100)|YES |   |       |     |
name       |varchar(100)|NO  |   |       |     |

其中,各个字段的含义分别解释如下:

● NULL:表示该列是否可以存储NULL值。

● Key:表示该列是否已编制索引,PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。

● Default:表示该列是否有默认值,有的话指定值是多少。

● Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。

SHOW CREATE TABLE

SHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE语句,包括存储引擎和字符集。

SHOW CREATE TABLE sys_log;

-- result
Table  |Create Table
-------+------------
sys_log| CREATE_TABLE_SQL

-- CREATE_TABLE_SQL 的内容如下
CREATE TABLE `sys_log` (
  `id` bigint NOT NULL COMMENT 'logId',
  `uid` int DEFAULT NULL COMMENT '系统用户id',
  `username` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
  `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作方法',
  `content` text COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作内容,即请求参数',
  `create_time` datetime DEFAULT NULL COMMENT '操作时间',
  `operator_ip` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '操作用户的ip',
  `name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作名称',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统操作日志表'