一、说明
遇到需要批量插入和修改数据库的情况:
如果该条数据不存在,则进行插入操作;否则如果存在,则进行更新操作。
使用INSERT OR REPLACE命令即可满足需求
语句规范INSERT OR REPLACE INTO table-name (column-name,...) VALUES (column-value,...)
二、具体操作
1、创建UNIQUE约束
UNIQUE约束: 唯一约束,防止在一个特定的列存在两个记录具有相同的值
UNIQUE和 PRIMARY KEY约束有什么异同点?
相同点:PRIMARY KEY也是UNIQUE,即不可重复
不同点:
PRIMARY KEY是非空的,但是UNIQUE可以为空
只能有一个主键,但是唯一索引可以有多个
如果没有指定聚合索引,那么主键默认为聚合索引,唯一索引不具备该特性
CREATE TABLE COMPANY( ID INT PRIMARY KEY, NAME TEXT NOT NULL UNIQUE, AGE INT NOT NULL);
ID和NAME都是UNIQUE的,所以命令只有在两个值都不存在时,才会进行插入,否则更新当前数据
//表为空时,不存在则插入
INSERT OR REPLACE INTO COMPANY (ID, NAME, AGE) VALUES (1, 'Rose', 18);
//存在则更新
//并全部覆盖(如果某个字段为空,则该字段的值为0或NULL)
INSERT OR REPLACE INTO COMPANY (ID, NAME, AGE,ADDRESS) VALUES (1, 'Rose', 19);
参考链接:https://www.jianshu.com/p/bfa617a0b9b1
本文介绍了如何使用INSERTORREPLACE命令在数据库中高效地处理数据,通过创建UNIQUE约束实现插入新数据或更新现有数据。实例演示了如何在带有唯一约束的表中插入或更新,同时解释了UNIQUE和PRIMARY KEY的区别。
3583





