MySql insert插入操作的3個(gè)小技巧分享
1.插入的數(shù)據(jù)來(lái)源自其他表
表A有id, cola 字段
表B有id, cola, colb...等字段,其中id都為主鍵,cola為相同名字的列
現(xiàn)想將表B中colb>1000的記錄都插入表A中,SQL語(yǔ)句可以這樣寫(xiě):
insert into A(id,cola) select id,cola from B where colb>1000
2.插入時(shí)排除(忽略)重復(fù)記錄
現(xiàn)表A中有一部分記錄了,再做如1中的插入操作可能遇到重復(fù)的key導(dǎo)致操作失敗
insert ignore into A(id,cola) select id,cola from B where colb>1000
使用insert ignore into插入時(shí),會(huì)忽略掉表中已經(jīng)存在的記錄
3.插入時(shí)遇到重復(fù)記錄做更新操作
還有一個(gè)表C,與表B的結(jié)構(gòu)類似,現(xiàn)需將表C中的數(shù)據(jù)插入A中,當(dāng)遇到重復(fù)的記錄時(shí),更新cola這一列為表C中的值
insert into A(id,cola) select id,cola from C on duplicate key update A.cola=C.cola
相關(guān)文章
Advanced Pagination for MySQL(mysql高級(jí)分頁(yè))
看到葉金榮的一篇關(guān)于mysql分頁(yè)的文章,結(jié)合雅虎之前發(fā)的一篇PDF 談?wù)勛约旱目捶?/div> 2016-08-08
mysql中寫(xiě)判斷語(yǔ)句的方法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于mysql中寫(xiě)判斷語(yǔ)句的方法總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-09-09
SQL匯總統(tǒng)計(jì)與GROUP BY過(guò)濾查詢實(shí)現(xiàn)
這篇文章主要介紹了SQL匯總統(tǒng)計(jì)與GROUP BY過(guò)濾查詢實(shí)現(xiàn),GROUP BY 實(shí)質(zhì)是先排序后分組,遵照索引建的最佳左前綴。當(dāng)無(wú)法使用索引時(shí),增大max_length_for_sort_data和sort_buffer參數(shù)的值2023-01-01
Mysql數(shù)據(jù)庫(kù)面試必備之三大log介紹
大家好,本篇文章主要講的是Mysql數(shù)據(jù)庫(kù)面試必備之三大log介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2021-12-12最新評(píng)論

