最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql Update批量更新的幾種方式

 更新時間:2019年02月26日 10:40:44   作者:bluexue0724  
今天小編就為大家分享一篇關(guān)于Mysql Update批量更新的幾種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

通常情況下,我們會使用以下SQL語句來更新字段值:

UPDATE mytable SET myfield='value' WHERE other_field='other_value';

但是,如果你想更新多行數(shù)據(jù),并且每行記錄的各字段值都是各不一樣,你會怎么辦呢?剛開始你可能會想到使用循環(huán)執(zhí)行多條UPDATE語句的方式,就像以下的python程序示例:

for x in xrange(10):
  sql = ''' UPDATE mytable SET myfield='value' WHERE other_field='other_value'; '''

這種方法并沒有什么任何錯誤,并且代碼簡單易懂,但是在循環(huán)語句中執(zhí)行了不止一次SQL查詢,在做系統(tǒng)優(yōu)化的時候,我們總是想盡可能的減少數(shù)據(jù)庫查詢的次數(shù),以減少資源占用,同時可以提高系統(tǒng)速度。幸運的是,還有更好的解決方案,只不過SQL語句稍微復(fù)雜點,但是只需執(zhí)行一次查詢即可,語法如下:

UPDATE mytable
  SET myfield = CASE other_field
    WHEN 1 THEN 'value'
    WHEN 2 THEN 'value'
    WHEN 3 THEN 'value'
  END
WHERE id IN (1,2,3)

這樣的SQL語句是很容易理解的,也就是用到了很多編程語言都有的關(guān)鍵字 CASE,根據(jù)id字段值來進行不同分支的當型判斷,

如果你需要更新一行記錄的多個字段,可以用以下SQL語句:

UPDATE categories
  SET display_order = CASE id
    WHEN 1 THEN 3
    WHEN 2 THEN 4
    WHEN 3 THEN 5
  END,
  title = CASE id
    WHEN 1 THEN 'New Title 1'
    WHEN 2 THEN 'New Title 2'
    WHEN 3 THEN 'New Title 3'
  END
WHERE id IN (1,2,3)

以上方案大大減少了數(shù)據(jù)庫的查詢操作次數(shù),大大節(jié)約了系統(tǒng)資源

不過這個有個缺點 : 要注意的問題是SQL語句的長度,需要考慮程序運行環(huán)境所支持的字符串長度,當然這也可以更新mysql的設(shè)置來擴展。

當然python這么強大的語言還給我們提供了executemany 這么強大的方法 ,它不僅可以插入數(shù)據(jù) 當然也可以用于更新數(shù)據(jù) 作為一個經(jīng)常搞事情的人 這些東西要經(jīng)常相互用下 才可以對比出結(jié)果

update_sql = ''' UPDATE mayi_order_image 
set order_city = %s
where user_ip = %s and dt = %s and id = %s 
 and user_ip is not null and (order_city is null or order_city = '' )
 '''
pp = []
for x in xrange(len(result)):
  ip = result[x][0]
  id_ = result[x][1]
  add = dbip.lookup(str(ip))
  adds = add.split('\t')
  address = str(adds[0]) + ','+str(adds[1] )+ ','+ str(adds[2])
  pp.append((address,ip,end,id_))
  if x%5000 == 0:
    saveLog_many(update_sql,pp)
    pp = []
saveLog_many(update_sql,pp)

是不是這個更方便一些 但是嗎 速度 問題 我感覺可以和第二種結(jié)合一下對比一下會更好呢

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • mysql函數(shù)group_concat和find_in_set的用法

    mysql函數(shù)group_concat和find_in_set的用法

    這篇文章主要介紹了mysql函數(shù)group_concat和find_in_set的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • MySQL啟動時InnoDB引擎被禁用了的解決方法

    MySQL啟動時InnoDB引擎被禁用了的解決方法

    最近在工作中遇到一個問題,現(xiàn)將解決的方法分享出來供大家參考學(xué)習(xí),下面這篇文章主要給大家介紹了關(guān)于MySQL啟動時InnoDB引擎被禁用了的解決方法,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • MySQL8 臨時關(guān)閉緩存的方法實現(xiàn)

    MySQL8 臨時關(guān)閉緩存的方法實現(xiàn)

    在某些場景下,如基準測試、數(shù)據(jù)一致性檢查或高頻數(shù)據(jù)更新,可能需要臨時關(guān)閉緩存以獲得更準確的性能數(shù)據(jù)或解決性能問題,本文就詳細的介紹一下MySQL8 臨時關(guān)閉緩存的方法實現(xiàn),感興趣的可以了解一下
    2024-10-10
  • MySQL數(shù)據(jù)庫Event定時執(zhí)行任務(wù)詳解

    MySQL數(shù)據(jù)庫Event定時執(zhí)行任務(wù)詳解

    這篇文章主要介紹了MySQL數(shù)據(jù)庫Event定時執(zhí)行任務(wù)
    2017-12-12
  • MySQL數(shù)據(jù)過濾與計算字段實戰(zhàn)指南

    MySQL數(shù)據(jù)過濾與計算字段實戰(zhàn)指南

    本文介紹了MySQL數(shù)據(jù)過濾與計算字段的實戰(zhàn)技術(shù),包括多條件組合、通配符過濾、正則表達式搜索和計算字段的使用,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • MySQL數(shù)據(jù)庫CPU飆升到500%的原因和解決方案

    MySQL數(shù)據(jù)庫CPU飆升到500%的原因和解決方案

    這篇文章討論了MySQL?CPU使用率高達500%的問題,并提出了滅火、查因、防復(fù)發(fā)的處理步驟,滅火包括找到并終止問題SQL,查因涉及分析全表掃描、鎖等待和排序等,防復(fù)發(fā)則包括優(yōu)化索引、限制連接數(shù)、應(yīng)用層限流和緩存等措施,需要的朋友可以參考下
    2026-02-02
  • mysql 5.7.17 安裝配置方法圖文教程(windows)

    mysql 5.7.17 安裝配置方法圖文教程(windows)

    這篇文章主要為大家分享了mysql 5.7.17 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 淺談Mysql時間的存儲?datetime還是時間戳timestamp

    淺談Mysql時間的存儲?datetime還是時間戳timestamp

    本文主要介紹了淺談Mysql時間的存儲?datetime還是時間戳timestamp,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • MySQL CHAR和VARCHAR存儲、讀取時的差別

    MySQL CHAR和VARCHAR存儲、讀取時的差別

    這篇文章主要介紹了MySQL CHAR和VARCHAR存儲的差別,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-11-11
  • MySQL索引的5種應(yīng)用

    MySQL索引的5種應(yīng)用

    本文主要介紹了MySQL索引的5種應(yīng)用,包含聚集索引,唯一索引,非唯一(普通)索引,全文索引,組合索引等,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03

最新評論

阳泉市| 元谋县| 阿图什市| 铜鼓县| 大冶市| 诸城市| 堆龙德庆县| 昌图县| 荣成市| 民权县| 鹤峰县| 苗栗市| 定州市| 汽车| 德令哈市| 新源县| 铜川市| 百色市| 邹平县| 偏关县| 金秀| 丰都县| 霍林郭勒市| 巴东县| 盖州市| 罗甸县| 柳林县| 巨野县| 华池县| 海城市| 枣阳市| 红原县| 缙云县| 张家界市| 宜春市| 白山市| 武强县| 澄城县| 中卫市| 古田县| 承德市|