MySQL中實(shí)現(xiàn)插入或更新操作(類似Oracle的merge語句)
如果需要在MySQL中實(shí)現(xiàn)記錄不存在則insert,不存在則update操作??梢允褂靡韵抡Z句:
更新一個(gè)字段:
INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA)
更新多個(gè)字段:
INSERT INTO tbl (columnA,columnB,columnC) VALUES (1,2,3) ON DUPLICATE KEY UPDATE columnA=IF(columnB>0,1,columnA),columnB=IF(columnC>0,1,columnB),columnC=IF(columnA>0,1,columnC);
由于MySQL對(duì)更新為原相同值有進(jìn)行優(yōu)化,所以更新為原相同值時(shí)不會(huì)真正對(duì)字段進(jìn)行更新操作,不存在性能問題。
以上所述是小編給大家介紹的在MySQL中實(shí)現(xiàn)插入或更新操作(類似Oracle的merge語句),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問題的解決方法
這篇文章介紹了Mysql 導(dǎo)入導(dǎo)出csv 中文亂碼問題的解決方法,有需要的朋友可以參考一下2013-09-09
徹底搞懂?dāng)?shù)據(jù)庫操作truncate delete drop關(guān)鍵詞的區(qū)別
這篇文章主要為大家介紹了數(shù)據(jù)庫操作truncate delete drop關(guān)鍵詞的區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
MYSQL Left Join優(yōu)化(10秒優(yōu)化到20毫秒內(nèi))
在實(shí)際開發(fā)中,相信大多數(shù)人都會(huì)用到j(luò)oin進(jìn)行連表查詢,但是有些人發(fā)現(xiàn),用join好像效率很低,而且驅(qū)動(dòng)表不同,執(zhí)行時(shí)間也不同。那么join到底是如何執(zhí)行的呢,本文就詳細(xì)的介紹一下2021-12-12
使用MySQL從JSON字符串提取數(shù)據(jù)的方法詳解
在現(xiàn)代數(shù)據(jù)庫管理中,JSON 格式因其靈活性而廣泛使用,然而,當(dāng)數(shù)據(jù)存儲(chǔ)在 JSON 中時(shí),我們經(jīng)常需要將其轉(zhuǎn)換為更易于處理的格式,本篇文章將通過一個(gè)具體的 SQL 查詢示例,展示如何從存儲(chǔ)在 MySQL 中的 JSON 字符串提取數(shù)據(jù)并重新格式化,需要的朋友可以參考下2024-10-10
Mysql更新varchar存儲(chǔ)Json數(shù)據(jù)的操作方法
這篇文章主要介紹了Mysql更新varchar存儲(chǔ)Json數(shù)據(jù)的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12

