mysql批量插入(insert)与批量更新(update)的例子

发布时间:2021-01-09编辑:脚本学堂
在mysql数据库中,实现批量插入数据与批量更新数据的例子,即批量insert、update的方法,有需要的朋友参考下。

本节内容:
mysql/ target=_blank class=infotextkey>mysql数据库中批量插入与批量更新数据。
 
在数据库插入或更新大量数据时,批量处理比挨条处理要快许多。

以下介绍insert 和 update 批量处理数据的方法。

insert 的语法为insert into table (id,value) values (1,2)

当有成千上万条数据要插入时,可以这样:
insert into table (id,value) values(1,2),(2,3),(3,4).....
以上语句可以实现一次性插入多条数据。

对于update语句,因为条件不同而更新的值不同,所以只能分开做。

对以下两种情况的实现方法加以分析:
1,更新条件中有主键或者是唯一的键。
2,更新条件是等于而不是范围。

第一种情况:
可以用replace或insert into table(a,b,c) values(1,2,3),(2,3,4)....on duplicate key update b = values(b)

具体请参考http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert   Mysql insert 语法。

第二种情况:
建立一个临时表,用于存储要更新的数据:
 

复制代码 代码示例:
create temporary table temp (id int primary key, name varchar(20), address text)
insert into temp (id,name,address) values(?,?)
update usr,temp set  usr.name = temp.name,usr.address = temp.address where usr.id=temp.id

注意:
建立临时表的过程中,不可以断开数据库连接,一旦断开临时表即自动消失。

>>> 有关临时表的内容,请参考:
mysql实例 存储过程中创建与删除临时表
mysql实例:在存储过程中创建临时表
mysql实例:在存储过程中创建临时表并储存数据
mysql表结构复制、表数据迁移以及临时表、视图创建的例子