插入表数据
本章节主要介绍Iceberg插入表数据的SQL基本语法和使用说明。
基本语法
- INSERT INTO tableIndentifier [VALUES(value)][SELECT query];
- INSERT OVERWRITE tableIndentifier SELECT;
- MERGE INTO prod.db.target t
USING (SELECT ...) s
ON t.id = s.id
WHEN ...;
其中:
- MERGE INTO: 目标表。
- USING: 源表查询语句。
- ON:源表和目标表匹配的条件。
- WHEN: 数据更新条件。
insert into ... select ...;语法中不支持可空字段类型的数据插入到非空字段类型。
使用示例
- 向表中插入数据:
INSERT INTO prod.db.table VALUES (1, 'a'), (2, 'b');
insert into iceberg_db.datatype_par3 select * from tb_parquet;
- 向表中覆盖插入数据:
insert overwrite testtable4 select id,name,gender,salary from testtable1;
- 合并插入表数据:
merge into iceberg_db.testtable4 as t
USING (select id,name,gender,salary from iceberg_db.testtable1 where id<=3 or id=5) as s
ON t.id = s.id
WHEN MATCHED THEN UPDATE SET name=s.name
WHEN NOT MATCHED THEN INSERT *;