正 文 :
數(shù)據(jù)庫更新就一種方法Update,
其標(biāo)準(zhǔn)格式:Update 表名 set 字段=值 where 條件
只是依據(jù)數(shù)據(jù)的來源不同,還是有所差別的:
?
1.從外部輸入
這樣的比較簡單
例:update tb set UserName="XXXXX" where UserID="aasdd"
2.一些內(nèi)部變量,函數(shù)等,比方時間等
直接將函數(shù)賦值給字段
update tb set LastDate=date() where UserID="aasdd"
3.對某些字段變量+1,常見的如:點擊率、下載次數(shù)等
這樣的直接將字段+1然后賦值給自身
update tb set clickcount=clickcount+1 where ID=xxx
4.將同一
記錄
的一個字段賦值給還有一個字段
update tb set Lastdate= regdate where XXX
5.將一個表中的一批記錄更新到另外一個表中
table1
ID f1 f2
table2
ID f1 f2
先要將table2中的f1 f2 更新到table1(同樣的ID)
update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID
6.將同一個表中的一些記錄更新到另外一些記錄中
表:a
ID? ?month? ?E_ID? ???Price
1? ?? ? 1? ?? ?? ???1? ?? ???2
2? ?? ? 1? ?? ?? ???2? ?? ???4
3? ?? ? 2? ?? ?? ???1? ?? ?? ?5
4? ?? ? 2? ?? ?? ???2? ?? ???5
先要將表中2月份的產(chǎn)品price更新到1月份中
顯然,要找到2月份中和1月份中ID同樣的E_ID并更新price到1月份中
這個全然能夠和上面的方法來處理,只是因為同一表,為了區(qū)分兩個月份的,應(yīng)該將表重命名一下
update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2
當(dāng)然,這里也能夠先將2月份的
查詢
出來,在用5.的方法去更新
update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
