如果您需要快速創建一個與原表結構一致的新表時,可以使用CREATE TABLE LIKE完成表結構的復制和新表的創建。
引擎與版本
語法
create_table_statement ::= CREATE TABLE new_table_identifier LIKE old_table_identifier
[ WITH '(' like_option (',' like_option)* ')']
like_option ::= option_identifier '=' string_literal
使用說明
CREATE TABLE LIKE語法可以復制表結構,但不會復制原表中的數據。
新表(new_table_identifier)
創建新表時,關于表名您需要注意以下內容:
可包含數字、大寫英文字符、小寫英文字符、半角句號(.)、中劃線(-)和下劃線(_)。
表名不能以半角句號(.)或中劃線(-)開頭。
表名的長度為1~255字符。
原表(old_table_identifier)
您可以通過DESCRIBE
語法查看原表的表結構,詳細介紹,請參見DESCRIBE/SHOW/USE。
復制項(like_option)
您可以通過WITH
關鍵字指定額外復制項。
支持的復制項參數如下:
參數 | 類型 | 描述 |
COPY_INDEX | STRING | 創建表時是否復制二級索引。 取值如下:
|
COPY_SPLITKEYS | STRING | 創建表時是否復制原表的分區起始Key。 取值如下:
|
示例
假設原表的結構如下:
CREATE TABLE sensor(
p1 INT NOT NULL,
p2 INT NOT NULL,
c1 VARCHAR,
c2 BIGINT,
PRIMARY KEY(p1, p2)
) WITH (SPLITKEYS = '100000,300000,500000,700000,900000');
復制表結構
創建一張與表sensor
具有相同表結構的表table2
。
CREATE TABLE table2 LIKE sensor;
復制表結構和分區起始Key
CREATE TABLE table2 LIKE sensor WITH (COPY_SPLITKEYS='true');
文檔內容是否對您有幫助?