` 语句查看MySQL创建表的语句,我们以Student表为例:
SHOW CREATE TABLE Student;
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Table | Create Table |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Student | CREATE TABLE `Student` (
`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL,
`age` int(2) DEFAULT NULL, `address` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-- 1 row in set (0.00 sec)
从 `SHOW CREATE TABLE Student` 结果中我们可以看出,Student表的定义如下:
– id 字段为 `int` 类型,并且不允许为null,类型长度为11,默认支持自增;
– name 字段为 `varchar` 类型,长度为20,不允许为null;
– age 字段为 `int` 类型,长度为2,默认允许为null;
– address 字段为 `varchar` 类型,长度为50,默认允许为null。
其次,使用 `DESCRIBE
` 语句也可以查看MySQL创建表的语句,以Student表为例:
DESCRIBE Student;
+-----------+------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | || age | int(2) | YES | | NULL | |
| address | varchar(50) | YES | | NULL | |+-----------+------------+------+-----+---------+----------------+
-- 4 rows in set (0.00 sec)
从 `DESCRIBE Student` 结果中我们可以清楚地看出Student表所有字段的定义情况。
最后,我们可以使用 `SHOW CREATE DATABASE ` 语句查看MySQL创建数据库的语句,以MySQL数据库为例:
SHOW CREATE DATABASE mysql;
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Database | Create Database |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| mysql | CREATE DATABASE `mysql` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-- 1 row in set (0.00 sec)
从 `SHOW CREATE DATABASE mysql` 结果中我们可以看出,MySQL数据库的默认编码为`utf8mb4`,并且设置为utf8mb4_0900_ai_ci模式。
总的来说,MySQL查看建表语句在不同表结构情况下实现方式略有不同,而本文仅关注MySQL查看建表语句的方式,使用 `SHOW CREATE TABLE` 、 `DESCRIBE` 和 `SHOW CREATE DATABASE` 语句可以轻松查看MySQL创建表及编码情况的详细定义。