INSERT OVERWRITE INTO SELECT用于向表中批量插入数据。

语法

INSERT OVERWRITE INTO table_name [(column_name,...)]
SELECT select_statement FROM from_statement   

注意事项

  • 执行INSERT OVERWRITE INTO SELECT命令时,需要提前创建目标表。
  • 如果目标表中已存在数据,INSERT OVERWRITE INTO SELECT命令执行结束之前,目标表中的数据不会发生任何变化;INSERT OVERWRITE INTO SELECT命令执行结束后,系统自动一键切换将数据写入目标表中,目标表的原数据将被清空。INSERT OVERWRITE INTO SELECT一般用于做大批量数据导入,不建议用于少量数据的导入。
  • INSERT OVERWRITE INTO SELECT命令支持指定列插入的功能,其他列为默认值,若无默认值则为NULL。
  • 向同一个表中写入数据时,INSERT OVERWRITE INTO SELECT不能与实时写入(INSERT INTOREPLACE INTODELETEUPDATE)混用,否则实时写入的数据会被丢弃。