ClickHouse--08--SQL DDL 操作

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • [SQL DDL 操作](#SQL DDL 操作)
    • [1 创建库](#1 创建库)
    • [2 查看数据库](#2 查看数据库)
    • [3 删除库](#3 删除库)
    • [4 创建表](#4 创建表)
    • [5 查看表](#5 查看表)
    • [6 查看表的定义](#6 查看表的定义)
    • [7 查看表的字段](#7 查看表的字段)
    • [8 删除表](#8 删除表)
    • [9 修改表](#9 修改表)
      • [9.1 添加列](#9.1 添加列)
      • [9.2 删除列](#9.2 删除列)
      • [9.3 清空列](#9.3 清空列)
      • [9.4 给列修改注释](#9.4 给列修改注释)
      • [9.5 修改列类型](#9.5 修改列类型)
    • [10 给表重命名](#10 给表重命名)
  • [分区表的 DDL 操作](#分区表的 DDL 操作)

SQL DDL 操作

DDL:Data Definition Language,数据库定义语言。

  1. 在 ClickHouse 中,DDL 语言中修改表结构仅支持 Merge 表引擎、Distributed 表引擎及 MergeTree
    家族的表引擎
  2. 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 语句,该操作会将列的值重置为该默认值



相关推荐
2501_941805931 小时前
在大阪智能零售场景中构建支付实时处理与高并发顾客行为分析平台的工程设计实践经验分享
数据库
李慕婉学姐1 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
珠海西格电力1 小时前
零碳园区有哪些政策支持?
大数据·数据库·人工智能·物联网·能源
数据大魔方1 小时前
【期货量化实战】日内动量策略:顺势而为的短线交易法(Python源码)
开发语言·数据库·python·mysql·算法·github·程序员创富
Chasing Aurora2 小时前
数据库连接+查询优化
数据库·sql·mysql·prompt·约束
倔强的石头_2 小时前
【金仓数据库】ksql 指南(六)—— 创建与管理用户和权限(KingbaseES 安全控制核心)
数据库
小熊officer3 小时前
Python字符串
开发语言·数据库·python
渐暖°3 小时前
JDBC直连ORACLE进行查询
数据库·oracle
萧曵 丶4 小时前
Next-Key Lock、记录锁、间隙锁浅谈
数据库·sql·mysql·mvcc·可重复读·幻读
做cv的小昊4 小时前
【TJU】信息检索与分析课程笔记和练习(7)数据库检索—Ei
数据库·笔记·学习·全文检索