购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 查看数据表结构

使用SQL语句创建好数据表之后,可以查看表结构的定义,以确认表的定义是否正确。在MySQL中,查看表结构可以使用DESCRIBE和SHOW CREATE TABLE语句。本节将针对这两个语句分别进行详细讲解。

2.4.1 查看表基本结构语句DESCRIBE

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

     DESCRIBE 表名;

或者简写为:

     DESC 表名;

【例2.14】分别使用DESCRIBE和DESC查看表tb_dept1和表tb_emp1的表结构。

查看tb_dept1表结构,SQL语句如下:

     mysql> DESCRIBE tb_dept1;
     +-----------+---------------+------+-----+---------+-------+
     | Field     | Type         | Null | Key | Default | Extra |
     +-----------+---------------+------+-----+---------+-------+
     | id       | int          | NO   | PRI | NULL    |      |
     | name      | varchar(22)   | NO   |     | NULL    |       |
     | location  | varchar(50)   | YES  |     | NULL    |       |
     +-----------+---------------+------+-----+---------+-------+

查看tb_emp1表结构,SQL语句如下:

     mysql> DESC tb_emp1;
     +--------+-------------+------+-----+---------+-------+
     | Field  | Type        | Null | Key | Default | Extra |
     +--------+--------------+-----+-----+---------+-------+
     | id     | int        | YES  |     | NULL    |      |
     | name   | varchar(25) | YES  |     | NULL    |       |
     | deptId | int        | YES  |     | NULL    |      |
     | salary | float       | YES  |     | NULL    |       |
     +--------+-------------+------+-----+---------+-------+

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

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

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

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

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

2.4.2 查看表详细结构语句SHOW CREATE TABLE

SHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE 语句,语法格式如下:

     SHOW CREATE TABLE <表名\G>;

提示: 使用SHOW CREATE TABLE语句,不仅可以查看表创建时候的详细语句,还可以查看存储引擎和字符编码。

如果不加“\G”参数,显示的结果可能非常混乱,加上参数“\G”之后,可使显示结果更加直观,易于查看。

【例2.15】使用SHOW CREATE TABLE查看表tb_emp1的详细信息,SQL语句如下:

     mysql> SHOW CREATE TABLE tb_emp1;
     +---------+---------------------------------------------------------------------+
     | Table   | Create Table                                               |
     +---------+---------------------------------------------------------------------+
     | tb_emp1 | CREATE TABLE `tb_emp1` (                                     |
     |        | `id` int DEFAULT NULL,                                       |
     |        | `name` varchar(25) DEFAULT NULL,                              |
     |        | `deptId` int DEFAULT NULL,                                   |
     |        | `salary` float DEFAULT NULL                                   |
     |        | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci  |
     +---------+---------------------------------------------------------------------+

使用参数“\G”之后的结果如下: dBtDuuTKafQ1QPkm77d5BCcwujtHFSroD9bTXbkTaumVs5rHQlVa4U0zYhgGt6H0

     mysql> SHOW CREATE TABLE tb_emp1\G
     *************************** 1. row ***************************
          Table: tb_emp1
     Create Table: CREATE TABLE `tb_emp1` (
       `id` int DEFAULT NULL,
       `name` varchar(25) DEFAULT NULL,
       `deptId` int DEFAULT NULL,
       `salary` float DEFAULT NULL
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
点击中间区域
呼出菜单
上一章
目录
下一章
×