MAPREDUCE服务 MRS-CREATE TABLE创建表:基本语法

时间:2024-06-29 16:25:06

基本语法

  • 方法一:在指定的“database_name”数据库中创建一个名为“table_name ”的表。

    如果建表语句中没有包含“database_name”,则默认使用客户端登录时选择的数据库作为数据库名称。

    CREATE TABLE [IF NOT EXISTS] [database_name.]table_name [ON CLUSTER ClickHouse集群名]

    (

    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],

    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],

    ...

    ) ENGINE = engine_name()

    [PARTITION BY expr_list]

    [ORDER BY expr_list]

    ClickHouse在创建表时建议携带PARTITION BY创建表分区。因为ClickHouse数据迁移工具是基于表的分区进行数据迁移,在创建表时如果不携带PARTITION BY创建表分区,则在集群内ClickHouseServer节点间数据迁移界面无法对该表进行数据迁移。

  • 方法二:创建一个与database_name2.table_name2具有相同结构的表,同时可以对其指定不同的表引擎声明。

    如果没有表引擎声明,则创建的表将与database_name2.table_name2使用相同的表引擎。

    CREATE TABLE [IF NOT EXISTS] [database_name.]table_name AS [database_name2.]table_name2 [ENGINE = engine_name]

  • 方法三:使用指定的引擎创建一个与SELECT子句的结果具有相同结构的表,并使用SELECT子句的结果填充它。

    CREATE TABLE [IF NOT EXISTS] [database_name.]table_name ENGINE = engine_name AS SELECT ...

support.huaweicloud.com/cmpntguide-mrs/mrs_01_24201.html