• CREATE TABLE
    • 语法图
    • 示例
    • MySQL 兼容性
    • 另请参阅

    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。

    另请参阅

    • DROP TABLE
    • CREATE TABLE LIKE
    • SHOW CREATE TABLE