mysql 进阶 -- 添加或更新 / 添加或替换 / 添加或忽略 (数据是否存在)

本文介绍了在MySQL中如何根据数据是否存在来选择添加、替换或忽略记录的方法。具体包括使用INSERT INTO...ON DUPLICATE KEY UPDATE实现更新操作,REPLACE INTO进行替换操作,以及INSERT IGNORE INTO来实现忽略已存在的记录。

 

添加或更新

如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE ...语句:

INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99) ON DUPLICATE KEY UPDATE name='小明', gender='F', score=99;

 

添加或替换

如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就先删除原记录,再插入新记录。此时,可以使用REPLACE语句,这样就不必先查询,再决定是否先删除再插入:

'''REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);''' 

 

添加或忽略

如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就啥事也不干直接忽略,此时,可以使用INSERT IGNORE INTO ...语句:

'''INSERT IGNORE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);'''

 

 

Source Artical: 

https://www.liaoxuefeng.com/wiki/1177760294764384/1246617682185952

 

----- END -----

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值