描述
CREATE TABLE LIKE 语句复制已有表的结构(Schema),创建一个具有相同列定义但不含数据的新表,新表可以覆盖部分属性(如 TBLPROPERTIES、COMMENT 等)。语法
CREATE [ IF NOT EXISTS ] table_identifierLIKE source_table_identifier[ USING tci ][ COMMENT table_comment ][ TBLPROPERTIES ( 'key' = 'value', ... ) ]
注意:
新表仅复制 Schema(列定义),不会复制原表的数据。
新表不继承源表的分区规范(Partition Spec)和表属性(Table Properties)。
可以在
LIKE 后追加新的 TBLPROPERTIES 来自定义属性。TCI 表不支持
EXTERNAL 和 LOCATION 子句。示例
创建源表
CREATE TABLE tci_like_source (id INT,name STRING,age INT) USING tci;
CREATE TABLE LIKE 基本用法
CREATE TABLE tci_like_t1LIKE tci_like_source;
TBLPROPERTIES 设置
CREATE TABLE tci_like_t2LIKE tci_like_sourceTBLPROPERTIES ('primary-key' = 'id');
IF NOT EXISTS 幂等性检查
CREATE TABLE IF NOT EXISTS tci_like_t3LIKE tci_like_source;
验证新表结构
DESCRIBE tci_like_t1;DESCRIBE tci_like_t2;SHOW CREATE TABLE tci_like_t2;