在MySQL中,查看表结构可以使用describe
和show create table
语句,下面详细介绍这两种语句:
1.查看表基本结构语句describe:
describe/desc 语句可以查看表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法规则如下:
describe 表名(或简写为desc)
【例】使用describe查看表tb_dept1的表结构,SQL语句如下:
mysql> describe tb_dept1;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(22) | NO | | NULL | |
| location | varchar(50) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.09 sec)
其中,各个字段的含义如下:
- Null:表示该列是否可以存储NULL值。
- Key:表示该列是否已编制索引,PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。
- Default:表示该列是否有默认值,如果有的话是多少。
- Extra:表示可以获取的与给定列有关的附加信息,例如auto_increment等。
2.查看表详细结构语句 show create table
show create table 语句可以用来显示创建表时的create table语句,语法格式如下:
show create table <表名\G>
【例】:使用show create table 查看表tb_emp1的详细信息,SQL语句如下:
mysql> show create table tb_emp1 \G
*************************** 1. row ***************************
Table: tb_emp1
Create Table: CREATE TABLE `tb_emp1` (
`id` int(11) DEFAULT NULL,
`name` varchar(25) DEFAULT NULL,
`deptID` int(11) DEFAULT NULL,
`salary` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)
注意:
- 使用show create table 语句,不仅可以查看表创建时的详细语句,还可以查看存储引擎和字符编码。
- 如果不加"\G"参数,那么显示的结果可能非常混乱;加上"\G"后,使显示结果更加直观、易于查看。