
# CREATE VIEW
本章节介绍如何在ClickHouse中创建普通视图。
#### 创建视图
```
CREATE VIEW [IF NOT EXISTS] [db.]view_name [ON CLUSTER default_cluster] AS SELECT ...
```
表1参数说明 
| 参数                             | 说明                                                                   |
|:---|:---|
| db                             | 数据库的名称，默认为当前选择的数据库。                                                  |
| view_name                      | 视图名。                                                                 |
| \[ON CLUSTER default_cluster\] | 在每一个节点上都创建一个视图，固定为ON CLUSTER default_cluster。                        |
| 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;
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
   - 如果建表语句中包含了"ON CLUSTER ClickHouse集群名"，删除表命令：
     ```
     drop table 表名 ON CLUSTER default_cluster;
     ```
     
   
   - 如果建表语句不包含"ON CLUSTER ClickHouse集群名"，删除表命令：
     ```
     drop table 表名;
     ```
     
     
 
