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 INTO、REPLACE INTO、DELETE、UPDATE)混用,否则实时写入的数据会被丢弃。