MySQL 8.0 参考手册 / 第 4 章 MySQL 程序 / 4.5 客户端程序 / 4.5.7 mysqlshow——显示数据库、表和列信息 /
13.7.5.10 显示 CREATE TABLE 语句
SHOW CREATE TABLE tbl_name
显示CREATE TABLE
创建命名表的语句。要使用此语句,您必须对表具有某些权限。此语句也适用于视图。
mysql> SHOW CREATE TABLE t\G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`s` char(60) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
SHOW CREATE TABLE
根据
sql_quote_show_create
选项的值引用表名和列名。请参阅第 5.1.7 节,“服务器系统变量”。
当更改表的存储引擎时,不适用于新存储引擎的表选项将保留在表定义中,以便在必要时将表及其先前定义的选项恢复为原始存储引擎。例如,当将存储引擎从 InnoDB 更改为 MyISAM 时,InnoDB 特定的选项如
ROW_FORMAT=COMPACT
保留。
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) ROW_FORMAT=COMPACT ENGINE=InnoDB;
mysql> ALTER TABLE t1 ENGINE=MyISAM;
mysql> SHOW CREATE TABLE t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`c1` int(11) NOT NULL,
PRIMARY KEY (`c1`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
在禁用严格模式的情况下
创建表时
,如果不支持指定的行格式,则使用存储引擎的默认行格式。表的实际行格式在Row_format
列中报告以响应SHOW TABLE
STATUS
。SHOW CREATE
TABLE
显示
CREATE TABLE
语句中指定的行格式。