CREATE TABLE

CREATE TABLE 语句用于在当前所选数据库中创建新表。另可参阅单独的 CREATE TABLE LIKE 文档。

语法图

CreateTableStmt:

CreateTableStmt

IfNotExists:

IfNotExists

TableName:

TableName

TableElementListOpt:

TableElementListOpt

TableElement:

TableElement

PartitionOpt:

PartitionOpt

ColumnDef:

ColumnDef

ColumnName:

ColumnName

Type:

Type

ColumnOptionListOpt:

ColumnOptionListOpt

TableOptionListOpt:

TableOptionListOpt

示例

  1. mysql> CREATE TABLE t1 (a int);
  2. Query OK, 0 rows affected (0.11 sec)
  3. mysql> CREATE TABLE t2 LIKE t1;
  4. Query OK, 0 rows affected (0.10 sec)
  5. mysql> DESC t1;
  6. +-------+---------+------+------+---------+-------+
  7. | Field | Type | Null | Key | Default | Extra |
  8. +-------+---------+------+------+---------+-------+
  9. | a | int(11) | YES | | NULL | |
  10. +-------+---------+------+------+---------+-------+
  11. 1 row in set (0.00 sec)
  12. mysql> INSERT INTO t1 VALUES (1);
  13. Query OK, 1 row affected (0.02 sec)
  14. mysql> SELECT * FROM t1;
  15. +------+
  16. | a |
  17. +------+
  18. | 1 |
  19. +------+
  20. 1 row in set (0.00 sec)

MySQL 兼容性

  • TiDB 不支持 CREATE TEMPORARY TABLE 语法。
  • 支持除空间类型以外的所有数据类型。
  • 不支持 FULLTEXTHASHSPATIAL 索引。
  • KEY_BLOCK_SIZEENGINE 属性可被解析,但会被忽略。
  • index_col_name 属性支持 length 选项,最大长度限制为 3072 字节。此长度限制不会更改,具体取决于存储引擎和建表时使用的字符集。
  • index_col_name 属性支持 ASCDESC 的索引排序选项。
  • COMMENT 属性最多支持 1024 个字符,不支持 WITH PARSER 选项。
  • TiDB 在单个表中最多支持 512 列。InnoDB 中相应的数量限制为 1017,MySQL 中的硬限制为 4096。

另请参阅