• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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 INT CHECK (i1 <> 0),      -- column constraint
             i2 INT,
             CHECK (i2 > i1),             -- table constraint
             CHECK (i2 <> 0) NOT ENFORCED -- 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 TABLEMySQL 如何存储语句的信息,请参见“ CREATE TABLE语句保留”。