亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

大批量數(shù)據(jù)用mysql批量更新數(shù)據(jù)的4種方法總結(jié)

 更新時間:2024年05月06日 11:08:12   作者:小哇666  
這篇文章主要給大家介紹了關(guān)于大批量數(shù)據(jù)用mysql批量更新數(shù)據(jù)的4種方法,要在MySQL中新增大批量數(shù)據(jù),可以通過以下幾種方法來實現(xiàn),文中給出了詳細的代碼示例,需要的朋友可以參考下

建一個測試表

create table users
(
    id   int auto_increment
        primary key,
    name varchar(255) null,
    age  int          null
);

1 replace into 批量更新【謹慎用】

/**
  沒有就新增,id一樣,就修改
  特別注意:每列數(shù)據(jù)都要寫上,不然就會設(shè)為null,你就慘了
 */
replace into users (id,name,age) values (1,'aa',20),(2,'bb',30),(3,'cc',40);

/* 找死 */
replace into users (id,age) values (1,21),(2,31),(3,41);

/* 正確寫法 */
replace into users (id,name,age) values (1,'aa',21),(2,'bb',31),(3,'cc',41);

2 insert into ...on duplicate key update批量更新

/**
  執(zhí)行第一次:(首次數(shù)據(jù)庫表中沒有數(shù)據(jù),正常插入)
 */
insert into users (id,name,age) values (1,'aa',20),(2,'bb',30),(3,'cc',40)
on duplicate key update age=age+1;

/**
  沒有就新增,id一樣,就修改,age 列都加1
 */
insert into users (id) values (1),(2),(3)
on duplicate key update age=age+1;

/**
  將 name 從 'aa' ,改為 'aa-1',
  age加1
 */
insert into users (id,name) values (1,'aa-1'),(2,'bb-1'),(3,'cc-1')
on duplicate key update name=values(name) ,age=age+1;

/**
  將 name 從 ‘a(chǎn)a-1' 改為 'xiaowang'
  age 改為 10 ,以此類推
 */
insert into users (id,name,age) values (1,'xiaowang',10),(2,'xiaoming',15),(3,'xiaochen',20)
on duplicate key update name=values(name),age=values(age);

3 創(chuàng)建臨時表,先更新臨時表,然后從臨時表中update

/**
  創(chuàng)建臨時表[session級別的,所以另開個窗口看不見],先更新臨時表,然后從臨時表中聯(lián)表update
 */
create temporary table users_temp
select * from users;

select * from users_temp;
/* 修改臨時表 */
update users_temp set age=age+1;

/*
修改正式表的記錄
set位置,正式表要在前面
*/
update users,users_temp set users.age=users_temp.age where users.id=users_temp.id;

drop table users_temp;

4 使用mysql 自帶的語句構(gòu)建批量更新 [數(shù)據(jù)控制在1w以內(nèi)]

update users set age=age+1 where id in (1,2,3);

/**
  建議將修改記錄條數(shù)控制在1W左右,不要超過2W,否則會耗費的時間也是成倍增加的
 */
update users
set name = case id
    when 1 then '小剛'
    when 2 then '小明'
    when 3 then '小陳'
    else name
end ;

update users
set name = case id
               when 1 then '小剛-1'
               when 2 then '小明-1'
               else name
    end
where id in (1,2,3) ;

總結(jié)

到此這篇關(guān)于大批量數(shù)據(jù)用mysql批量更新數(shù)據(jù)的4種方法總結(jié)的文章就介紹到這了,更多相關(guān)mysql批量更新數(shù)據(jù)方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO) 的原因分解決辦法

    MySQL ERROR 1045 (28000): Access denied for user ''root''@''

    這篇文章主要介紹了MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 淺談一下MyISAM和InnoDB存儲引擎的區(qū)別

    淺談一下MyISAM和InnoDB存儲引擎的區(qū)別

    這篇文章主要介紹了MyISAM和InnoDB存儲引擎的區(qū)別,存儲引擎是MySQL中特有的一個術(shù)語,其它數(shù)據(jù)庫中沒有,實際上存儲引擎是一個表存儲/組織數(shù)據(jù)的方式,今天就跟小編來看看MyISAM和InnoDB存儲引擎的區(qū)別,需要的朋友可以參考下
    2023-04-04
  • mysql表優(yōu)化、分析、檢查和修復(fù)的方法詳解

    mysql表優(yōu)化、分析、檢查和修復(fù)的方法詳解

    這篇文章主要介紹了mysql表優(yōu)化、分析、檢查和修復(fù)的方法,結(jié)合實例形式較為詳細的分析了MySQL表進行優(yōu)化,分析與修復(fù)等操作的各種常見命令與使用技巧,需要的朋友可以參考下
    2016-04-04
  • Linux下mysql的root密碼修改方法

    Linux下mysql的root密碼修改方法

    mysql是我們經(jīng)常在linux或者windows需要用的一種數(shù)據(jù)庫,相信每位程序員們對mysql應(yīng)該都再熟悉不過了,但是有時大腦短路,突然忘記mysql的超級用戶root的密碼,這個時候就要修改個新的密碼了,下面這篇文章就介紹了Linux下mysql的root密碼修改方法,一起來看看吧。
    2017-03-03
  • MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用詳解

    MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用詳解

    在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)進行流程的控制。本文就詳細的介紹這幾種方法,感興趣的可以了解一下
    2021-06-06
  • MySQL 元數(shù)據(jù)鎖及問題排查的解決

    MySQL 元數(shù)據(jù)鎖及問題排查的解決

    MySQL中的元數(shù)據(jù)鎖主要用于管理并發(fā)操作下的數(shù)據(jù)字典一致性,本文主要介紹了MySQL 元數(shù)據(jù)鎖及問題排查的解決,具有一定的參考價值,感興趣的可以了解一下
    2024-09-09
  • centOS7安裝MySQL數(shù)據(jù)庫

    centOS7安裝MySQL數(shù)據(jù)庫

    本文給大家簡單介紹了如何在centOS7下安裝MySQL5.6數(shù)據(jù)庫的方法,以及一些注意事項,希望對大家實用mysql能夠有所幫助
    2016-12-12
  • MySQL 句柄數(shù)占用過多的解決方法

    MySQL 句柄數(shù)占用過多的解決方法

    本文主要介紹解決MySQL句柄占用過多的方法,簡單實用,需要的朋友可以參考下。
    2016-05-05
  • 如何通過sql查找所有父節(jié)點和所有子節(jié)點(以mysql為例)

    如何通過sql查找所有父節(jié)點和所有子節(jié)點(以mysql為例)

    這篇文章主要給大家介紹了關(guān)于如何通過sql查找所有父節(jié)點和所有子節(jié)點,本文以mysql為例,項目中遇到一個需求,要求查處菜單節(jié)點的所有節(jié)點,這里給大家總結(jié)下,需要的朋友可以參考下
    2023-08-08
  • MySql 5.7.17 winx64的安裝配置詳細教程

    MySql 5.7.17 winx64的安裝配置詳細教程

    這篇文章主要介紹了MySql 5.7.17 winx64的安裝配置教程,初始化數(shù)據(jù)庫、配置相關(guān)信息的方法在本文中介紹的非常詳細,需要的朋友參考下
    2017-01-01

最新評論