MySQL与Oracle如何insert into多个values

一、Oracle一次插入多条记录

方式1:

要向数据库中写入多条记录,记录集已经确定,如果一次一次插入势必影响效率。

解决方法:


?

注意:上面最后一个select之后没有union all,否则报错。

方式2:

*************************************************************************************

二、MySQL中可以使用如下格式的插入语句:

insert into persons 
  (id_p, lastname , firstName, city )
  values
  (200,'haha' , 'deng' , 'shenzhen'),
  (201,'haha2' , 'deng' , 'GD'),
  (202,'haha3' , 'deng' , 'Beijing');

这样就批量插入数据了。

*****************************************************************************************************************

*****************************************************************************************************************

附录:


--Oracle插入多条记录到一个表中:
INSERT ALL
 INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')
 INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')
 INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3')
 SELECT * FROM dual;


--Oracle插入多条记录到多个表中:
INSERT ALL
 INTO product (product_id,product_name) VALUES (1000, 'Disc')
 INTO product (product_id, product_name) VALUES (2000, 'Floppy')
 INTO customers (customer_id, customer_name, city) VALUES (999999, 'Anderson Construction', 'New York')
 SELECT * FROM dual;
-----------------------------------------------------------------------------------------------------------------------------------------
--Oracle插入多条记录到一个表中:
INSERT INTO tablename (col1,col2,...)
    SELECT * FROM (
        SELECT 'a1','a2',... FROM dual UNION ALL
        SELECT 'a11','a22',... FROM dual UNION ALL
        SELECT 'a111','a222',... FROM dual UNION ALL
        SELECT 'a1111','a2222',... FROM dual
   )
-----------------------------------------------------------------------------------------------------------------------------------------


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在MyBatis中,可以使用批量插入语句将多条记录同时插入数据库。具体来说,可以使用foreach标签来遍历一个列表,并在循环中执行插入操作。下面是一个示例代码片段,展示了如何在MyBatis中使用foreach实现批量插入: <<引用:注解插入 @Insert({ "<script>", "insert into task_info(id,info) values ", "<foreach collection='recordList' item='item' index='index' separator=','>", "(#{item.id}, #{item.info})", "</foreach>", "</script>" }) int insertList(@Param("recordList") List<TaskInfo> recordList); Oracle 批量 。 引用:总感觉自己做过批量插入,又好像没有,刻意看一下,我一次插入了1W条数据,结合自己的MYSQL版本最大插入来做,记得做好字段阈值 MYSQL 批量 。 引用:XML插入 <insert id="insertAll" parameterType="java.util.List"> insert into big_temp_data (`time`, region, `type`, current_period_data, cumulative_data, indicator_type, time_attribute, `indicator`,period_last_year,period_last,year_on_year,code ) values <foreach collection="list" item="item" index="index" separator=","> ( #{item.time,jdbcType=VARCHAR}, #{item.region,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.currentPeriodData,jdbcType=VARCHAR}, #{item.cumulativeData,jdbcType=VARCHAR}, #{item.indicatorType,jdbcType=VARCHAR}, #{item.timeAttribute,jdbcType=VARCHAR}, #{item.indicator,jdbcType=VARCHAR}, #{item.periodLastYear,jdbcType=VARCHAR},#{item.periodLast,jdbcType=VARCHAR},#{item.yearOnYear,jdbcType=VARCHAR}, #{item.code ,jdbcType=VARCHAR} ) </foreach> </insert> >> 在注解方式中,可以使用@Insert注解,结合<foreach>标签来实现。示例代码中的insertList方法接收一个名为recordList的参数,该参数是一个List<TaskInfo>类型的对象。在SQL语句中,使用<foreach>标签将recordList中的每个元素插入到数据库中。 在XML配置文件中,可以使用<insert>标签,并在其中使用<foreach>标签来实现批量插入。示例代码中的insertAll语句接收一个名为list的参数,该参数是一个java.util.List类型的对象。在<foreach>标签中,通过#{item.xxx}来引用list中的属性,并使用separator属性指定每条记录之间的分隔符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值