国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

用一條mysql語句插入多條數據

2024-07-24 12:46:47
字體:
來源:轉載
供稿:網友

       假如有一個數據表A:

id name title addtime

        如果需要插入n條數據 :

$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; ), );

   之前我的想法會是,通過數據構造多條插入語句,循環調用 。如:     

$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."')";

   之后發現了sql的insert語句可以一次插入多條:

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

       通過","號將多個數據分隔開來,就可以能過一條sql操作來解決多個數據的插入,之前試驗時,在插入數據條數為30的情況下,一次插入與多次插入同樣數據的速度相比,一次插入快了近9倍。同時,因為插入操作只有一次,所以也類似事務操作,插入失敗則全失敗,插入成功則全成功,使數據的管理更加方便。所以,如果有多條數據需要插入同一個表的,盡量用這種方式。

以前插入多條數據庫記錄時,常這么寫:

$b = 14;for($a=0;$a<100;$a++){ $sql = " INSERT INTO `roles` (`uid`,`rid`) VALUES (".$a.",".$b.")"; mysql_query($sql);}

但這種寫法效率低下,需要多次執行sql語句。如果你用過phpmyadmin導入數據,其實你會發現,上面的語句其實可以這么寫

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

所以原來的代碼可以這么改寫

$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);

您可能感興趣的文章:

C++操作MySQL大量數據插入效率低下的解決方法Java使用JDBC向MySQL數據庫批次插入10W條數據(測試效率)MySql批量插入優化Sql執行效率實例詳解mysql中迅速插入百萬條測試數據的方法MYSQL批量插入數據的實現代碼mysql數據庫插入速度和讀取速度的調整記錄MySql避免重復插入記錄的幾種方法Mysql中幾種插入效率的實例對比
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟村| 博爱县| 会理县| 云阳县| 类乌齐县| 高要市| 虹口区| 牟定县| 福州市| 峨山| 达拉特旗| 六安市| 普安县| 澜沧| 罗甸县| 綦江县| 佛山市| 原阳县| 曲阜市| 靖州| 平舆县| 江达县| 延庆县| 永州市| 海城市| 巴塘县| 松溪县| 万山特区| 维西| 建水县| 黑山县| 泽州县| 高阳县| 连南| 铜梁县| 大城县| 宜宾县| 南漳县| 阳春市| 舞阳县| 舞阳县|