暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

查看mysql数据表结构的两种方法你会吗?

运维家 2022-06-29
835

教你如何查看数据表结构

当我们创建完表之后,如何查看表结构,以便于确认该表符合我们的预期呢,我们可以使用describe
或者show create table
命令来查看mysql
数据表结构,下面我们就来看下具体用法。

1、describe语法

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

语法:

DESCRIBE 表名
复制

我们一般简写为:

DESC 表名
复制

我们看下之前新建的一个表,来具体看下每一个含义的内容;

mysql> describe test_user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| money | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> desc test_user;
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(25) | YES | | NULL | |
| deptid | int | YES | | NULL | |
| money | float | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql>

复制

可以看到我们无论使用describe
还是desc
命令查看表结构,结果都是一致的。

那么看下具体信息:

  • Fiels
    :字段名
  • Type
    :字段类型
  • Null
    :是否可以为空
  • Key
    :是否有索引;PRI
    表示是主键的一部分;UNI
    表示该列是UNIQUE
    索引的一部分;MUL
    表示某个给定值允许出现多次
  • Default
    :默认值
  • Extra
    :表示可以获取的与给定列有关的附加信息

2、show create table语法

show create table
可以查看创建表的具体语句;

语法:

show create table <表名\G>
复制

使用SHOW CREATE TABLE
语句,不仅可以查看表创建时候的详细语句,还可以查看存储引擎和字符编码。\G
参数相当于格式化输出,使其输出内容具有较高的易读性。

示例:

mysql> show create table test_user;
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table

|
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_user | CREATE TABLE `test_user` (
`id` int DEFAULT NULL COMMENT '员工编号',
`name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '员工姓名',
`deptid` int DEFAULT NULL COMMENT '所在部门编号',
`money` float DEFAULT NULL COMMENT '工资'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>

复制

如果加上\G
之后,我们可以看到输出内容易读性高;

mysql> show create table test_user\G;
*************************** 1. row ***************************
Table: test_user
Create Table: CREATE TABLE `test_user` (
`id` int DEFAULT NULL COMMENT '员工编号',
`name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '员工姓名',
`deptid` int DEFAULT NULL COMMENT '所在部门编号',
`money` float DEFAULT NULL COMMENT '工资'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

复制

支持,本文结束。 

长按以识别二维码关注运维家~
微信号:yunweijia0909


往期推荐

python爬虫-21-三分钟python读写mysql数据库

linux搭建mongodb数据库副本集

windows平台下的mysql启动等基本操作



文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论