mysql量批修改 MySQL的批量修改資料

2021-10-18 12:07:07 字數 693 閱讀 4039

使用自帶的語句構建批量更新

mysql 實現批量 可以用點小技巧來實現:

update tablename

set orderid = case id

when 1 then 3

when 2 then 4

when 3 then 5

endwhere id in (1,2,3)

這句sql 的意思是,更新orderid 字段,如果id=1 則orderid 的值為3,如果id=2 則orderid 的值為4……

where部分不影響**的執行,但是會提高sql執行的效率。確保sql語句僅執行需要修改的行數,這裡只有3條資料進行更新,而where子句確保只有3行資料執行。

如果更新多個值的話,只需要稍加修改:

update categories

set orderid = 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'

endwhere id in (1,2,3)

參考:

mysql批模式 MySQL 批量模式

peter 什麼是批量模式 從檔案中讀取標準sql 命令 通過互動模式進行詢問 為什麼需要使用批量模式 重複進行相同詢問 可以通過管道,詳細查詢返回結果 可以把查詢結果輸出到檔案中 可以很方便把指令碼分配給其他使用者 cron job 以批量模式建立表單 mysql create table my ...

mysql 隔行匯入 MySQL 批匯入設定

部分配置方法來自網路,僅作筆記不記錄 建立賬戶 create user 使用者名稱 訪問主機 identified by 密碼 賦予許可權 grant 許可權列表 on 資料庫 to 使用者名稱 訪問主機 修改許可權時在後面加with grant option 在my.ini中加入下面幾個設定 in...

mysql之儲存過程(四) 批量更新操作

最近有乙個場景,在生產環境的乙個庫中,新增了乙個字段。需要從另乙個關聯表中找到相當的字段回填。影響資料數百萬條。首先,不能使用一條大的update語句來更新,這個鎖太大,容易產生鎖徵用,造成死鎖。update b a set new column select other col from a b ...