mysql查詢表結(jié)構(gòu)的方法:1、使用“DESCRIBE 表名;”語句,會(huì)以表格的形式展示表結(jié)構(gòu);2、使用“SHOW CREATE TABLE 表名;”語句,會(huì)以SQL語句的形式展示表結(jié)構(gòu)。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
創(chuàng)建完數(shù)據(jù)表之后,經(jīng)常需要查看表結(jié)構(gòu)(表信息)。在 MySQL 中,可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令來查看數(shù)據(jù)表的結(jié)構(gòu)。
DESCRIBE:以表格的形式展示表結(jié)構(gòu)
DESCRIBE/DESC 語句會(huì)以表格的形式來展示表的字段信息,包括字段名、字段數(shù)據(jù)類型、是否為主鍵、是否有默認(rèn)值等,語法格式如下:
DESCRIBE 表名;
或簡寫成:
DESC 表名;
【實(shí)例1】分別使用 DESCRIBE 和 DESC 查看表 tb_emp1 的表結(jié)構(gòu),SQL 語句和運(yùn)行結(jié)果如下:
mysql> DESCRIBE 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 | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
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 | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
其中,各個(gè)字段的含義如下:
-
Null:表示該列是否可以存儲(chǔ) NULL 值。
-
Key:表示該列是否已編制索引。PRI 表示該列是表主鍵的一部分,UNI 表示該列是 UNIQUE 索引的一部分,MUL 表示在列中某個(gè)給定值允許出現(xiàn)多次。
-
Default:表示該列是否有默認(rèn)值,如果有,值是多少。
-
Extra:表示可以獲取的與給定列有關(guān)的附加信息,如 AUTO_INCREMENT 等。
SHOW CREATE TABLE:以SQL語句的形式展示表結(jié)構(gòu)
SHOW CREATE TABLE 命令會(huì)以 SQL 語句的形式來展示表信息。和 DESCRIBE 相比,SHOW CREATE TABLE 展示的內(nèi)容更加豐富,它可以查看表的存儲(chǔ)引擎和字符編碼;另外,你還可以通過g或者G參數(shù)來控制展示格式。
SHOW CREATE TABLE 的語法格式如下:
SHOW CREATE TABLE 表名;
在 SHOW CREATE TABLE 語句的結(jié)尾處(分號(hào)前面)添加g或者G參數(shù)可以改變展示形式。
【實(shí)例2】使用 SHOW CREATE TABLE 語句查看表 tb_emp1 的詳細(xì)信息,一次使用g結(jié)尾,一次不使用:
mysql> SHOW CREATE TABLE tb_emp1; +---------+------------------------------------------------+ | Table | Create Table | +---------+------------------------------------------------+ | tb_emp1 | CREATE TABLE `tb_emp1` ( `id` int(11) DEFAULT NULL, `name` varchar(25) DEFAULT NULL, `salary` float DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 | +---------+------------------------------------------------+ 1 row in set (0.01 sec)
mysql> SHOW CREATE TABLE tb_emp1 g; +---------+------------------------------------------------+ | Table | Create Table | +---------+------------------------------------------------+ | tb_emp1 | CREATE TABLE `tb_emp1` ( `id` int(11) DEFAULT NULL, `name` varchar(25) DEFAULT NULL, `salary` float DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 | +---------+------------------------------------------------+ 1 row in set (0.00 sec)
SHOW CREATE TABLE
使用G
結(jié)尾的 SQL 語句和運(yùn)行結(jié)果如下:
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=gb2312 1 row in set (0.03 sec)
【