CREATE VIEW
本章节介绍如何在ClickHouse中创建普通视图。
创建视图
CREATE VIEW [IF NOT EXISTS] [db.]view_name [ON CLUSTER ClickHouse集群名] AS SELECT ...
参数 |
说明 |
---|---|
db |
数据库的名称,默认为当前选择的数据库。 |
view_name |
视图名。 |
[ON CLUSTER ClickHouse集群名] |
在每一个节点上都创建一个视图,固定为ON CLUSTER ClickHouse集群名。 |
SELECT ... |
SELECT子句。当数据写入视图中SELECT子句所指定的源表时,插入的数据会通过SELECT子句查询进行转换并将最终结果插入到视图中。 |
示例:
- 创建源表。
create table DB.table1 ON CLUSTER default_cluster (id Int16,name String) ENGINE = MergeTree() ORDER BY (id);
- 创建视图。
CREATE VIEW test_view ON CLUSTER default_cluster AS SELECT * FROM DB.table1;
- 插入数据到源表中。
insert into DB.table1 values(1,'X'),(2,'Y'),(3,'Z');
- 查询视图。
SELECT * FROM test_view;
- 删除视图。
drop table test_view ON CLUSTER default_cluster;
- 如果建表语句中包含了“ON CLUSTER ClickHouse集群名”,删除表命令:
drop table 表名 ON CLUSTER default_cluster;
- 如果建表语句不包含“ON CLUSTER ClickHouse集群名”,删除表命令:
drop table 表名;
- 如果建表语句中包含了“ON CLUSTER ClickHouse集群名”,删除表命令: