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='系统操作日志表'