一、ALTER
-
修改数据
ALTER TABLE ptx_db.or_ehr_dept UPDATE erp_dept_id=203 WHERE dept_id = 103;
-
删除数据
ALTER TABLE ptx_db.or_ehr_dept DELETE WHERE xxxxx;
-
添加字段
ALTER TABLE visits ADD COLUMN browser String AFTER user_id
-
删除字段
ALTER TABLE visits DROP COLUMN browser
-
清除一列数据
ALTER TABLE visits CLEAR COLUMN browser IN PARTITION tuple()
-
为字段添加备注
ALTER TABLE visits COMMENT COLUMN browser 'xxxxxxx'
-
修改表字段名
ALTER TABLE visits MODIFY COLUMN browser Array(String)
-
删除分区
ALTER TABLE visits drop partition 20200201
ps:
1. ClickHouse 不支持删除主键和引擎表达式中使用的列,只有在主键中包含的列的类型没有导致数据被修改时,才可以更改它
2. 如果ALTER不足以满足所需的修改,可以重新创建新表,使用 INSERT SELECT 将原数据导入到新创建的表
3. ALTER操作会阻塞表的所有读和写
二、INSERT
-
添加数据
INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), ... ps: 1. 如果存在DEFAULT表达式,根据DEFAULT表达式计算被填充的值。 2. 如果没有定义DEFAULT表达式,则填充零或空字符串。 3. 数据在写入ClickHouse前预先的对数据进行分组,再分别插入对应的分区
-
使用select的结果写入
INSERT INTO [db.]table [(c1, c2, c3)] SELECT ...
三、CREATE
-
创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name
-
复制表
CREATE TABLE ptx_dw.test_new as ptx_dw.test;