SQL执行一次INSERT INTO查询,插入多行记录
2014-01-24 00:00
736 查看
如果我们想往数据库表中插入一行记录,可以使用以下SQL语句:
那如果我们想插入多行记录呢?可能你会想到多次运行INSERT语句即可,就像下面的php代码示例:
噢,这样写代码效率是很低的,弄不好会严重占用计算机资源,如果是while (5000 == $a),那就要执行5000次数据库查询,哇塞!好家伙!如果你使用php搭建网站,并且使用的是共享虚拟主机,你给来这么一手,估计你的网站很快就会挂掉了。这可够受罪的咯,那怎样写才能提高效率呢?不知道你有没有使用过MySQL的可视化管理工具phpMyAdmin或者其他的数据库管理软件,备份数据库的时候会生成一个.sql文件,里面就是一大堆sql语句,仔细研究一下,它使用的INSERT语句是这样的:
这样只需执行一次SQL查询,即可插入多行记录,大大提高了效率,使用php编程的时候,可以使用字符串连接的方式连接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);
相关文章推荐
- SQL执行一次INSERT INTO查询,插入多行记录
- 执行一次SQL查询,UPDATE多行记录
- 执行一次SQL查询,UPDATE多行记录
- 执行一次SQL查询,修改UPDATE多行记录
- 根据查询查来的记录,一次执行多条SQL(存储过程)
- SQL中用insert into插入一行或多行记录
- MyBatis直接执行SQL查询及批量插入数据
- plsql developer如何查询SQL语句执行历史记录
- MyBatis直接执行SQL查询及批量插入数据
- 一次从项目数据库中的某个表中插入或者更新或者删除n条记录操作t_sql语句
- sql怎么把查询出的记录插入到另一张表中
- 记录一次条件比较多的SQL查询语句
- plsql developer如何查询SQL语句执行历史记录
- PL/SQL使用INSERT...SELECT一次插入多行数据
- MyBatis直接执行SQL查询及批量插入数据
- 【转】查询SQLSERVER执行过的SQL记录
- 创建临时表,一条sql语句一次插入多条记录
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 执行这个SQL查出来刚插入记录对应的自增列的值
- MyBatis直接执行SQL查询及批量插入数据