0

数据表的基本操作——查看数据表结构(十四)

4.2  查看数据表结构

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

4.2.1  查看表基本结构语句DESCRIBE

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

DESCRIBE 表名;

或者简写为:

DESC 表名;

【例4.11】分别使用DESCRIBEDESC查看表tb_dept1和表tb_emp1的表结构。

查看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 |      |

+-----------+---------------+------+-----+---------+--------+

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

mysql> DESC tb_emp1;

+--------+--------------+------+-----+---------+-------+

| Field  | Type      | Null | Key | Default | Extra |

+--------+--------------+------+-----+---------+-------+

| id     | int (11)    | YES |    | NULL  |     |

| name  | varchar(25) | YES |    | NULL  |     |

| deptId | int (11)     | YES |    | NULL  |     |

| salary  | float      | YES |    | NULL  |      |

+---------+-------------+-------+-----+---------+-------+

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

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

default:表示该列是否有默认值,如果有的话值是多少。

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

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

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

SHOW CREATE TABLE <表名G>;


 

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

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

mysql> SHOW CREATE TABLE tb_emp1;

+--------+----------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------+

| Table  | Create Table

 

                                                                        |

+--------+----------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------+

| fruits | CREATE TABLE `fruits` (

  `f_id` char(10) NOT NULL,

  `s_id` int(11) NOT NULL,

  `f_name` char(255) NOT NULL,

  `f_price` decimal(8,2) NOT NULL,

  PRIMARY KEY (`f_id`),

  KEY `index_name` (`f_name`),

  KEY `index_id_price` (`f_id`,`f_price`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+--------+----------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------+

使用参数‘G’之后的结果如下:

mysql> SHOW CREATE TABLE tb_emp1G;

*************************** 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=utf8

1 row in set (0.00 sec)