更新时间:2024-10-24 GMT+08:00
分享

插入表数据

本章节主要介绍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 *;

相关文档