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

用一條mysql語(yǔ)句插入多條數(shù)據(jù)

 更新時(shí)間:2014年09月15日 09:27:47   投稿:hebedich  
這篇文章主要介紹了在mysql中使用一條sql語(yǔ)句插入多條數(shù)據(jù),效率非常高,但是原理其實(shí)很簡(jiǎn)單,希望對(duì)大家有所幫助

       假如有一個(gè)數(shù)據(jù)表A:

id name title addtime

        如果需要插入n條數(shù)據(jù) :

$time= time();
$data = array(
  array(
   'name'=>'name1','title'=>'title1','addtime'=>$time;
  ),
  array(
   'name'=>'name2','title'=>'title2','addtime'=>$time;
  ),
  array(
   'name'=>'name3','title'=>'title3','addtime'=>$time;
  ),
  ...
  array(
   'name'=>'nameN','title'=>'titleN','addtime'=>$time;
  ),
  
);

   之前我的想法會(huì)是,通過(guò)數(shù)據(jù)構(gòu)造多條插入語(yǔ)句,循環(huán)調(diào)用 。如:     

$sql1 = "INSERT INTO `A`(`name`,`title`,`addtime`)VALUES ('name1','title1','".$time."')";
$sql2 = "INSERT INTO `A`(`name`,`title`,`addtime`)VALUES ('name2','title2','".$time."')";
......
$sqlN = "INSERT INTO `A`(`name`,`title`,`addtime`)VALUES ('nameN','titleN','".$time."')";

   之后發(fā)現(xiàn)了sql的insert語(yǔ)句可以一次插入多條:

$sql = "INSERT INTO `A`(`name`,`title`,`addtime`)VALUES ('name1','title1','".$time."'),";
$sql .= "('name2','title2','".$time."'),";
$sql .= "('name3','title3','".$time."'),";
.....
$sql .= "('nameN','titleN','".$time."')";

       通過(guò)","號(hào)將多個(gè)數(shù)據(jù)分隔開(kāi)來(lái),就可以能過(guò)一條sql操作來(lái)解決多個(gè)數(shù)據(jù)的插入,之前試驗(yàn)時(shí),在插入數(shù)據(jù)條數(shù)為30的情況下,一次插入與多次插入同樣數(shù)據(jù)的速度相比,一次插入快了近9倍。同時(shí),因?yàn)椴迦氩僮髦挥幸淮?,所以也類似事?wù)操作,插入失敗則全失敗,插入成功則全成功,使數(shù)據(jù)的管理更加方便。所以,如果有多條數(shù)據(jù)需要插入同一個(gè)表的,盡量用這種方式。

以前插入多條數(shù)據(jù)庫(kù)記錄時(shí),常這么寫(xiě):

$b = 14;

for($a=0;$a<100;$a++){

   $sql = " INSERT INTO `roles` (`uid`,`rid`) VALUES (".$a.",".$b.")";

   mysql_query($sql);

}

但這種寫(xiě)法效率低下,需要多次執(zhí)行sql語(yǔ)句。如果你用過(guò)phpmyadmin導(dǎo)入數(shù)據(jù),其實(shí)你會(huì)發(fā)現(xiàn),上面的語(yǔ)句其實(shí)可以這么寫(xiě)

   INSERT INTO `roles` (`uid`,`rid`) VALUES
       (534,14),(535,14),(536,14),(537,14),(539,14)

所以原來(lái)的代碼可以這么改寫(xiě)

 $b = 14;

for($a=0;$a<100;$a++){

  if($a==0)

     $sql = "INSERT INTO `roles` (`uid`,`rid`) VALUES (".$a.",".$b.")";

  else

    $sql. = ",(".$a.",".$b.")";

}

mysql_query($sql);

相關(guān)文章

  • MySQL BinLog如何恢復(fù)誤更新刪除數(shù)據(jù)

    MySQL BinLog如何恢復(fù)誤更新刪除數(shù)據(jù)

    這篇文章主要介紹了MySQL BinLog如何恢復(fù)誤更新刪除數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • cmd中MySQL中文數(shù)據(jù)亂碼問(wèn)題解決方法

    cmd中MySQL中文數(shù)據(jù)亂碼問(wèn)題解決方法

    MySQL是默認(rèn)utf8編碼的,所建數(shù)據(jù)庫(kù)也是設(shè)置utf8編碼,使用程序可以新增中文數(shù)據(jù),在cmd中使用SQL語(yǔ)句新增數(shù)據(jù)則報(bào)錯(cuò),有類似情況的朋友可以參考下本文
    2014-02-02
  • 如何提高M(jìn)ySQL Limit查詢性能的方法詳解

    如何提高M(jìn)ySQL Limit查詢性能的方法詳解

    今天小編就為大家分享一篇關(guān)于如何提高M(jìn)ySQL Limit查詢性能的方法詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • MySQL定時(shí)備份方案(利用Linux crontab)

    MySQL定時(shí)備份方案(利用Linux crontab)

    這篇文章主要給大家介紹了關(guān)于MySQL定時(shí)備份方案的相關(guān)資料,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • idea連接mysql數(shù)據(jù)庫(kù)失敗的幾種解決方案

    idea連接mysql數(shù)據(jù)庫(kù)失敗的幾種解決方案

    我們?cè)趯W(xué)習(xí)Mybatis時(shí)需要連接Mysql數(shù)據(jù)庫(kù),使用IDEA無(wú)法連接mysql數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于idea連接mysql數(shù)據(jù)庫(kù)失敗的幾種解決方案,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • mysql insert 存在即不插入語(yǔ)法說(shuō)明

    mysql insert 存在即不插入語(yǔ)法說(shuō)明

    這篇文章主要介紹了mysql insert 存在即不插入語(yǔ)法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 全面解讀MySQL主從復(fù)制,從原理到安裝配置

    全面解讀MySQL主從復(fù)制,從原理到安裝配置

    這篇文章主要介紹了MySQL主從復(fù)制的相關(guān)資料,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-08-08
  • 從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤

    從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤

    MySQL數(shù)據(jù)恢復(fù)是數(shù)據(jù)庫(kù)管理中的一項(xiàng)重要任務(wù),尤其是在遭遇意外數(shù)據(jù)丟失、硬件故障或軟件錯(cuò)誤時(shí),下面這篇文章主要給大家介紹了關(guān)于從ibd文件恢復(fù)MySQL數(shù)據(jù)的操作步驟及常見(jiàn)錯(cuò)誤,需要的朋友可以參考下
    2024-08-08
  • MySQL表內(nèi)連和外連的具體使用

    MySQL表內(nèi)連和外連的具體使用

    我們?cè)谑褂肕ySQL的時(shí)候,經(jīng)常涉及到內(nèi)連接和外連接的應(yīng)用,本文就來(lái)詳細(xì)的介紹一下MySQL表內(nèi)連和外連的具體使用,感興趣的可以了解一下
    2023-10-10
  • 詳解如何避免MYSQL主從延遲帶來(lái)的讀寫(xiě)問(wèn)題

    詳解如何避免MYSQL主從延遲帶來(lái)的讀寫(xiě)問(wèn)題

    當(dāng)在主庫(kù)上進(jìn)行更新后,有可能數(shù)據(jù)還沒(méi)來(lái)得及同步到從庫(kù),但是這個(gè)時(shí)候又有讀數(shù)據(jù)的需求,為了能正確讀取出數(shù)據(jù),這個(gè)時(shí)候就只有讀主庫(kù)了,所以本文給大家介紹了如何避免MYSQL主從延遲帶來(lái)的讀寫(xiě)問(wèn)題,需要的朋友可以參考下
    2024-03-03

最新評(píng)論

濮阳市| 石林| 巴林右旗| 济南市| 丰都县| 长汀县| 龙岩市| 阿荣旗| 双柏县| 长丰县| 德钦县| 宿州市| 通城县| 文化| 黄山市| 恩施市| 和平县| 杂多县| 吉林省| 永兴县| 余江县| 永寿县| 巴马| 莱西市| 松江区| 天等县| 遂溪县| 宁明县| 泰兴市| 社会| 新龙县| 凉山| 丰原市| 镇沅| 泸西县| 莫力| 灌阳县| 诸城市| 宁国市| 青龙| 鄂州市|