程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL執行一次INSERT INTO查詢,插入多行記錄

SQL執行一次INSERT INTO查詢,插入多行記錄

編輯:關於SqlServer
 

 如果我們想往數據庫表中插入一行記錄,可以使用以下SQL語句:

1
INSERT INTO tbl_name (col1,col2) VALUES (15,16);

     那如果我們想插入多行記錄呢?可能你會想到多次運行INSERT語句即可,就像下面的php代碼示例:

1
2
3
4
5
6
7
8
9
$a = 1;
$b = 1;
while (5 == $a)
{
    $sql = "INSERT INTO tbl_name (col1,col2) VALUES ($a,$b)";
    mysql_query($sql);
    $a++;
    $b++;
}

     噢,這樣寫代碼效率是很低的,弄不好會嚴重占用計算機資源,如果是while (5000 == $a),那就要執行5000次數據庫查詢,哇塞!好家伙!如果你使用php搭建網站,並且使用的是共享虛擬主機,你給來這麼一手,估計你的網站很快就會掛掉了。這可夠受罪的咯,那怎樣寫才能提高效率呢?不知道你有沒有使用過MySQL的可視化管理工具phpMyAdmin或者其他的數據庫管理軟件,備份數據庫的時候會生成一個.sql文件,裡面就是一大堆sql語句,仔細研究一下,它使用的INSERT語句是這樣的:

1
2
3
4
INSERT INTO `userTable` (`user_id`, `user_name`) VALUES
(1, 'dsf'),
(2, 'fgy'),
(3, 'faad');

     這樣只需執行一次SQL查詢,即可插入多行記錄,大大提高了效率,使用php編程的時候,可以使用字符串連接的方式連接sql語句即可:

1
2
3
4
5
6
7
8
9
10
11
12
$a = 1;
while (5 == $a)
{
    if (1 == $a)
        $sql = "INSERT INTO tbl_name (col1,col2) VALUES ($a,$b)";
    else
        $sql .= ",($a,$b)";

    $a++;
    $b++;
}
mysql_query($sql);  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved