更新时间:2024-04-29 GMT+08:00

CREATE VIEW

本章节介绍如何在ClickHouse中创建普通视图。

创建视图

CREATE VIEW [IF NOT EXISTS] [db.]view_name [ON CLUSTER ClickHouse集群名] AS SELECT ...
表1 参数说明

参数

说明

db

数据库的名称,默认为当前选择的数据库。

view_name

视图名。

[ON CLUSTER ClickHouse集群名]

在每一个节点上都创建一个视图,固定为ON CLUSTER ClickHouse集群名。

SELECT ...

SELECT子句。当数据写入视图中SELECT子句所指定的源表时,插入的数据会通过SELECT子句查询进行转换并将最终结果插入到视图中。

示例:

  1. 创建源表。
    create table DB.table1 ON CLUSTER default_cluster (id Int16,name String) ENGINE = MergeTree() ORDER BY (id);
  2. 创建视图。
    CREATE VIEW test_view ON CLUSTER default_cluster AS SELECT * FROM DB.table1;
  3. 插入数据到源表中。
    insert into DB.table1 values(1,'X'),(2,'Y'),(3,'Z');
  4. 查询视图。
    SELECT * FROM test_view;
  5. 删除视图。
    drop table test_view ON CLUSTER default_cluster;
    • 如果建表语句中包含了“ON CLUSTER ClickHouse集群名”,删除表命令:
      drop table 表名 ON CLUSTER default_cluster;
    • 如果建表语句不包含“ON CLUSTER ClickHouse集群名”,删除表命令:
      drop table 表名;