CREATE TABLE

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

语法图

CreateTableStmt:

createtable\_1.png

IfNotExists:

createtable\_2.png

TableName:

createtable\_3.png

TableElementListOpt:

createtable\_4.png

TableElement:

createtable\_5.png

PartitionOpt:

createtable\_6.png

ColumnDef:

createtable\_7.png

ColumnName:

createtable\_8.png

Type:

createtable\_9.png

ColumnOptionListOpt:

createtable\_10.png

TableOptionListOpt:

createtable\_11.png

示例

mysql> CREATE TABLE t1 (a int);
Query OK, 0 rows affected (0.11 sec)
mysql> CREATE TABLE t2 LIKE t1;
Query OK, 0 rows affected (0.10 sec)
mysql> DESC t1;
+-------+---------+------+------+---------+-------+
| Field | Type    | Null | Key  | Default | Extra |
+-------+---------+------+------+---------+-------+
| a     | int(11) | YES  |      | NULL    |       |
+-------+---------+------+------+---------+-------+
 row in set (0.00 sec)
mysql> INSERT INTO t1 VALUES (1);
Query OK, 1 row affected (0.02 sec)
mysql> SELECT * FROM t1;
+------+
| a    |
+------+
|    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

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

results matching ""

    No results matching ""