MySql insert插入操作的3個小技巧分享
1.插入的數(shù)據(jù)來源自其他表
表A有id, cola 字段
表B有id, cola, colb...等字段,其中id都為主鍵,cola為相同名字的列
現(xiàn)想將表B中colb>1000的記錄都插入表A中,SQL語句可以這樣寫:
insert into A(id,cola) select id,cola from B where colb>1000
2.插入時排除(忽略)重復(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插入時,會忽略掉表中已經(jīng)存在的記錄
3.插入時遇到重復(fù)記錄做更新操作
還有一個表C,與表B的結(jié)構(gòu)類似,現(xiàn)需將表C中的數(shù)據(jù)插入A中,當(dāng)遇到重復(fù)的記錄時,更新cola這一列為表C中的值
insert into A(id,cola) select id,cola from C on duplicate key update A.cola=C.cola
相關(guān)文章
mysql8.0.23 linux(centos7)安裝完整超詳細(xì)教程
這篇文章主要介紹了mysql8.0.23 linux(centos7)安裝完整超詳細(xì)教程,本文給介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01SQL如何使用正則表達(dá)式對數(shù)據(jù)進(jìn)行過濾
正則表達(dá)式的作用是匹配文本,將一個正則表達(dá)式與一個文本串進(jìn)行比較,下面這篇文章主要給大家介紹了關(guān)于SQL如何使用正則表達(dá)式對數(shù)據(jù)進(jìn)行過濾的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09如何使用Maxwell實時同步mysql數(shù)據(jù)
這篇文章主要介紹了如何使用Maxwell實時同步mysql數(shù)據(jù),幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-04-04Win10 64位使用壓縮包安裝最新MySQL8.0.18的教程(圖文詳解)
本文通過圖文并茂的形式給大家介紹了WIN10 64位使用壓縮包安裝最新MySQL8.0.18的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12