一次向数据库插入多条记录
2012-11-30 15:25
183 查看
在开发中对于数据的操作经常有可能一次向数据库插入多条记录。
对于才入门的程序员来说,第一感觉就是写个循环,先把sql写好每次循环的时候都传入不同的参数即可。
向用户表中一次插入多个用户。
在真正的应用中我们不会像这样做。
如果插入数据的来源是有系统输入的那么我们可以这样:
当插入数据的来源就在数据库中,我们可以这样
这里需要注意的是:
select 查询字段的位置顺序一定要和into表中字段位置顺序对应一致。他不会根据你的名称来对应,他是根据位置顺序来对应的。
还望多多指点
对于才入门的程序员来说,第一感觉就是写个循环,先把sql写好每次循环的时候都传入不同的参数即可。
向用户表中一次插入多个用户。
String[] users={"张三","李四","王老五"}; String sql="insert into user (name)values(?)"; PreparedStatement ps=conn.prepareStatement(sql); for (String string : users) { ps.setString(1, string); ps.executeUpdate(); }这种做法肯定也是能满足需求的,但是从性能上讲就不是那么好了。这样你要插入多少用户就需要向数据库发送多少次请求。
在真正的应用中我们不会像这样做。
如果插入数据的来源是有系统输入的那么我们可以这样:
insert into user (name) values ('张三'),('李四'),('王老五'); insert into user (name) select '张三' union all select '李四' union all '王老五'; 上边两种方式在mysql中是可行的,在oracle中需要这样 insert into user (name) select '张三' from dual union all select '李四' from dual union all '王老五' from dual;这样的性能绝定比上边第一种好好的多吧!
当插入数据的来源就在数据库中,我们可以这样
insert into user (name,sex,age) select name,sex,age from user1;
这里需要注意的是:
select 查询字段的位置顺序一定要和into表中字段位置顺序对应一致。他不会根据你的名称来对应,他是根据位置顺序来对应的。
还望多多指点
相关文章推荐
- 一次向数据库中插入多条相同记录的SQL方法(只有一个列不同)
- vb中的for 循环 和 数据库中插入多条记录
- 在SQL Server中,SQL语句的Insert支持一次插入多条记录
- SQL 一次插入多条记录
- oracle一次插入多条记录
- 在SQL Server中SQL语句的Insert支持一次插入多条记录?
- 用一条SQL语句实现向数据库中插入多条记录的方法
- 一次插入多条记录 [mysql]
- Oracle使用虚拟表dual一次插入多条记录
- 向SQL Server 一次插入多条记录
- Oracle使用虚拟表dual一次插入多条记录【摘录】
- SQL 一次插入多条记录 例句
- 数据库学习笔记——一次插入多条记录
- mysql使用游标 触发一次 插入多条记录
- mysql一次插入多条记录问题
- 刚刚做了一个小项目,存在一个问题,就是如何在数据库中插入多条记录
- 【解决方法】Oracle一次插入多条记录
- 如何向后台数据库插入多条记录?
- ms sql 一次插入多条记录的语句
- 使用jdbc向数据库中插入多条记录,探究有索引和没有索引的查询速度的代码