如何用SQL语句将数据批量插入数据库

如何用SQL语句将数据批量插入数据库,第1张

如果是sql server,用transaction sql写;

如果是oracle,用pl/sql写。

这两种语法都可以写一些逻辑语句,跟一些高级语言差不多,随便搜一下就有介绍了。自己学学,不多讲了。

用JDBC也可以,不过稍微麻烦点。用上面的方法可以直接在DBMS的客户端运行,简单直接。

--------------------------------------------

上面我说的,好像不太适合你这个问题。确实用JDBC(Java语言)或ODBC(C++)写代码能实现:循环读文件里面的每条数据,生成相应的sql语句,然后调用API写入数据库。

还有一个方法就是,用txt或excel保存数据,然后用sql server2000的企业管理器导入txt或excel文档,你按着向导试试看。

1、批量插入 *** 作

     mapperjava层定义:

     int batchInsert(List stockList);

mapperxml层的sql语句:

insert into t_stock (status, asset_classify_id,asset_id,asset_item_id, name,num, batch_num, tag_id,rfid, epc, barcode,qr_code, erp, unit,pic_url, specification, model,material, color,length,width, height, weight,density, volume, price01,price02,warehouse_id, storage_zone_id,storage_location_id,storage_location_tag_id,remark, attr01, attr02,attr03, create_date,last_update,creater, client_id)values (#{itemstatus,jdbcType=VARCHAR},#{itemassetClassifyId,jdbcType=BIGINT},#{itemassetId,jdbcType=BIGINT}, #{itemassetItemId,jdbcType=BIGINT},#{itemname,jdbcType=VARCHAR},#{itemnum,jdbcType=VARCHAR},#{itembatchNum,jdbcType=VARCHAR}, #{itemtagId,jdbcType=VARCHAR},#{itemrfid,jdbcType=VARCHAR}, #{itemepc,jdbcType=VARCHAR},#{itembarcode,jdbcType=VARCHAR},#{itemqrCode,jdbcType=VARCHAR},#{itemerp,jdbcType=VARCHAR}, #{itemunit,jdbcType=VARCHAR},#{itempicUrl,jdbcType=VARCHAR},#{itemspecification,jdbcType=VARCHAR},#{itemmodel,jdbcType=VARCHAR},#{itemmaterial,jdbcType=VARCHAR},#{itemcolor,jdbcType=VARCHAR}, #{itemlength,jdbcType=DECIMAL},#{itemwidth,jdbcType=DECIMAL}, #{itemheight,jdbcType=DECIMAL},#{itemweight,jdbcType=DECIMAL},#{itemdensity,jdbcType=DECIMAL},#{itemvolume,jdbcType=DECIMAL}, #{itemprice01,jdbcType=DECIMAL},#{itemprice02,jdbcType=DECIMAL},#{itemwarehouseId,jdbcType=BIGINT},#{itemstorageZoneId,jdbcType=BIGINT},#{itemstorageLocationId,jdbcType=BIGINT},#{itemstorageLocationTagId,jdbcType=BIGINT},#{itemremark,jdbcType=VARCHAR}, #{itemattr01,jdbcType=VARCHAR},#{itemattr02,jdbcType=VARCHAR},#{itemattr03,jdbcType=VARCHAR},#{itemcreateDate,jdbcType=TIMESTAMP},#{itemlastUpdate,jdbcType=TIMESTAMP},#{itemcreater,jdbcType=BIGINT}, #{itemclientId,jdbcType=BIGINT})

有declare语句是可以的

比如创建了一个表a:

create table a

( aid int identity(1,1) not null Primary(Key),

adata int)

插入数据:

declare @n int

set @n = 0

while @n < 2000

begin

set @n = @n+1

insert into a(adata) values(@n)

end

自己改改就可以了

那要看你需要什么类型的数据了。

最简单的,写一个存储过程,在里头添加一个insert,循环个 大量 次数。

如果存在其他表中有大量数据的,也可以

insert 新表 select from 其他表。

注意一下字段类型。

以上就是关于如何用SQL语句将数据批量插入数据库全部的内容,包括:如何用SQL语句将数据批量插入数据库、mybatis 批量增删改查 *** 作的几种 *** 作以及创建数据库索引、如何往SQL数据库中快速插入大量数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9349582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存