请选择 进入手机版 | 继续访问电脑版

SQL执行一次INSERT INTO查询,插入多行记录

2017-9-16 16:03| 发布者: administrator| 查看: 460| 评论: 0 |原作者: 8531.org |来自: 8531.org


版权声明
本文首发于淄博网站建设 桑尼网络( http://8531.org/ ),版权所有。






如果我们想往数据库表中插入一行记录,可以使用以下SQL语句:

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

那如果我们想插入多行记录呢?可能你会想到多次运行INSERT语句即可,就像下面的php代码示例:

$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语句是这样的:

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

这样只需执行一次SQL查询,即可插入多行记录,大大提高了效率,使用php编程的时候,可以使用字符串连接的方式连接sql语句即可:

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

-- 完 --

<
>
 
QQ在线咨询
售前咨询热线
151-1700-0429
售后服务热线
131-5336-9354
返回顶部