SHOW 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=utf8mb4
从MySQL 8.0.16开始,MySQL实施CHECK
约束并SHOW CREATE TABLE
显示约束。所有CHECK
约束都显示为表约束。即,CHECK
最初指定为列定义一部分的约束显示为单独的子句,而不是列定义的一部分。例:
mysql>CREATE TABLE t1 ( i1 INTCHECK (i1 <> 0), -- column constraint i2 INT,CHECK (i2 > i1), -- table constraintCHECK (i2 <> 0) NOTENFORCED -- table constraint, not enforced ); mysql>SHOW CREATE TABLE t1\G *************************** 1. row *************************** Table : t1 Create Table : CREATE TABLE `t1` ( `i1` int(11) DEFAULT NULL, `i2` int(11) DEFAULT NULL, CONSTRAINT `t1_chk_1` CHECK ((`i1` <> 0)), CONSTRAINT `t1_chk_2` CHECK ((`i2` > `i1`)), CONSTRAINT `t1_chk_3` CHECK ((`i2` <> 0)) / *!80016 NOT ENFORCED */ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
SHOW CREATE TABLE
根据sql_quote_show_create
选项的值对表名和列名加引号。请参见“服务器系统变量”。
有关CREATE TABLE
MySQL 如何存储语句的信息,请参见“ CREATE TABLE语句保留”。