ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL|几种插入语句的区别

2020-04-05 19:06:38  阅读:508  来源: 互联网

标签:语句 insert INSERT into 表名 插入 VALUES 库名 SQL


SQL几种插入语句的区别

一. insert into

insert into以追加的方式向 hive 表尾部追加数据行, 如果主键重复, 则ERROR。语法格式如下:
insert into 库名.表名 values (值 1, 值2, 值3)
insert into 库名.表名(列名1, 列名2, 列名3) values (值 1, 值2, 值3)

二. insert overwrite

insert overwrite 则是先删除 hive 表的数据,再执行写入操作,其实是整个直接重写数据。语法格式如下:
INSERT OVERWRITE TABLE 库名.表名 VALUES(值1, 值2, 值3)
INSERT OVERWRITE TABLE 库名.表名 PARTITION (分区列) SELECT FROM

三. insert ignore into

insert ignore into 会根据主键判断插入数据是否重复,如果重复,将忽略这新插入的数据, 不会返回错误, 但会返回警告
INSERT IGNORE INTO 库名.表名 VALUES(值1, 值2, 值3 )

四.insert into values on duplicate key update 处理方式

当primary/unique 重复时,则执行update语句。如果update后面为恒true, 则与insert ignore into的作用相同。update后面一般跟着的是当遇到主键重复时的更新规则。
INSERT INTO 库名.表名 VALUES(值1, 值2, 值3) ON DUPLICATE KEY UPDATE ID =ID
例如:
INSERT INTO testtable VALUES(1, "hanhan") ON DUPLICATE KEY UPDATE name = "wangzijian"

五.replace into

当数据库中存在主键相同的记录时,则对此条数据做更新(还是先删除掉在插入新纪录,要确认一下)
REPLACE INTO TABLE 库名.表名 VALUES(值1, 值2, 值3)

标签:语句,insert,INSERT,into,表名,插入,VALUES,库名,SQL
来源: https://www.cnblogs.com/Sinkinghost/p/12638496.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有