查看mysql数据表结构的两种方法你会吗?
2022-07-15 本文已影响0人
运维家
教你如何查看数据表结构
当我们创建完表之后,如何查看表结构,以便于确认该表符合我们的预期呢,我们可以使用
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>
支持,本文结束。
更多内容请转至VX公众号 “运维家” ,获取最新文章。
------ “运维家” ------
------ “运维家” ------
------ “运维家” ------
系统运维工程师面试,运维工程师优秀员工提名词,tr运维工程师,特来电运维工程师工作日常,IT运维工程师高级;
智能制造运维工程师培训课程,远程办公的运维工程师,迈瑞医疗运维工程师工资待遇,后台运维工程师是做什么的;
风力运维工程师怎样,浪潮云运维工程师,医疗设备运维工程师证书样本,运维工程师男朋友,运维工程师暴躁。