提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- SQL DDL 操作
- 1 创建库
- 2 查看数据库
- 3 删除库
- 4 创建表
- 5 查看表
- 6 查看表的定义
- 7 查看表的字段
- 8 删除表
- 9 修改表
- 9.1 添加列
- 9.2 删除列
- 9.3 清空列
- 9.4 给列修改注释
- 9.5 修改列类型
- 10 给表重命名
- 分区表的 DDL 操作
- 1.查看分区信息
- 2.卸载分区
- 3.装载分区
- 4.删除分区
- 5.替换分区
- 6.移动分区
- 7.重置分区列
SQL DDL 操作
DDL:Data Definition Language,数据库定义语言。
- 在 ClickHouse 中,DDL 语言中修改表结构仅支持 Merge 表引擎、Distributed 表引擎及 MergeTree
家族的表引擎 - SQL 中的库、表、字段严格区分大小写
1 创建库
2 查看数据库
3 删除库
4 创建表
创建表的基本语法:
示例:
5 查看表
6 查看表的定义
7 查看表的字段
8 删除表
9 修改表
9.1 添加列
9.2 删除列
9.3 清空列
注意,不能清空排序、主键、分区字段
9.4 给列修改注释
9.5 修改列类型
10 给表重命名
分区表的 DDL 操作
- ClickHouse 中只有 MergeTree 家族引擎下的表才能分区。这里说的分区表就是MergeTree 家族表引擎对应的分区表。
1.查看分区信息
2.卸载分区
将指定分区的数据移动到 detached 目录。服务器会忽略被分离的数据分区。只有当你使用 ATTACH 时,服务器才会知晓这部分数据。当执行操作以后,可以对 detached 目录的数据进行任意操作,例如删除文件,或者放着不管。
3.装载分区
- 我们可以将已经卸载的分区重新装载到对应的表分区中。这里就是将 detached 目录 中的数据重新移动到对应的表数据目录下。
- 也可以将卸载的分区数据加载到其他表中,但是这个表需要与原来的表具有相同的表结构及相同的分区字段。
4.删除分区
- ClickHouse 中的分区表,可以针对分区表删除某个分区,之后再导入当前分区的数 据,以达到数据更新的目的。
- 执行删除分区命名是直接将对应分区数据删除,不会放入 detached 目录。该操作会 将分区标记为不活跃的,然后在大约 10 分钟内删除全部数据。
5.替换分区
替换分区支持将 table1 表的分区数据复制到 table2 表,并替换 table2 表的已有分区。table1 表中分区数据不会被删除,table1 和 table2 表必须要有相同的表结构且分区字段相同。这个操作经常用作数据备份、表数据同步操作。
6.移动分区
该 操 作 将 table_source 表 的 数 据 分 区 移 动 到 table_dest 表 , 并 删 除table_source 表的数据。
7.重置分区列
重置指定分区的特定列的值,就是将指定分区下某列的数据清空,如果建表时使用了DEFAULT 语句,该操作会将列的值重置为该默认值