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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用SQL语句将数据批量插入数据库相关的知识,希望对你有一定的参考价值。

我是新手,在工作中遇到如下问题,希望各位兄弟帮忙解决下谢谢。
我有一个文档(共5000行),里面有如下内容:
IS2004 张强 KG22
IS1125 刘明 PG56
IS3658 王二 MH72
..............

我想把这3列批量插入到自己建的表里,不知道该如何实现,请各位帮忙,详细点谢谢
最好能具体写一下,我才接触数据库,是SQL Server 2000,谢谢

这种情况使用xml来进行批量插入.
1.asp.net页面上抓取数据,转换成xml字符串
2.将这个字符串作为参数传给存储过程
3.存储过程里,将这个xml读取成临时表
4.整个临时表插入到目标数据表中,这个过程可以使用sql
server的事务;其实在这里用不用事务问题都不大了,因为存储过程出错,数据插不进去的,还会抛出异常到asp.net后台,让后台进行处理异常.
您用游标或asp.net代码来循环,速度会比较慢的.
参考技术A 批量增加数据,能再具体点吗,具体问题的处理方式不同,如果要从一张表中取数据,增加到另一张表中,那直接
insert
tableA
select
column1,column2....from
tableB
where
......(where条件根据实际需要)
这样就可以实现批量插数据
insert
tableA(column1,column2....)
values(a,b,c,...)这种只能一次插一条
如果还复杂点的话,也可以用循环来做。
参考技术B 你的文档是什么类型还是表?
如果是表,直接插
INSERT INTO 要插表(对应字段1,对应字段2,对应字段3)
SELECT 字段1,字段2,字段3
FROM 文档

如果文档不是表,而是其他类型的,先把数据放到EXCEL,同过EXCEL导入数据库
再通过上面的方式插入吧
参考技术C --将数据存到Excel中,执行下面的SQL(读取Excel数据)
insert into 表
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="G:\tenptable123.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
参考技术D 把这些数据放到excel表中,然后再用excel导入到数据库

如何用sql语句,将表2中与表1中含有相同字符行,中的数据插入表1中

表1
a b c
yy 4
k 9
xx 7
表2
a c
k 65
jx 8
xx 5
最后的结果是这样的

表1
a b c
yy 4
k 9 65
xx 7 5

直接插入表1中

建表插入数据:

create table table1
(a varchar(10),
b int,
c int);

create table table2
(a varchar(10),
c int);

insert into table1 values (\'yy\',4,null);
insert into table1 values (\'k\',9,null);
insert into table1 values (\'xx\',7,null);

insert into table2 values (\'k\',65);
insert into table2 values (\'jx\',8);
insert into table2 values (\'xx\',5);

mysql下执行:

update table1 a,table2 b set a.c=b.c where a.a=b.a

mysql下执行后结果:

sqlserver下执行:

update table1 set c=b.c from table1 a inner join table2 b on a.a=b.a

sqlserver下执行后结果:

以后提问时说明用的什么数据库,不同数据库语法都不同的。

参考技术A 表结构 能列出来吗?

以上是关于如何用SQL语句将数据批量插入数据库的主要内容,如果未能解决你的问题,请参考以下文章

Myeclipse 如何用java 写sqlserver 的批量插入?

如何用把Oracle中的数据插入到sqlserver中?

如何用SQL语句向一个表中插入多行记录

如何用SQL语句向一个表中插入多行记录

如何用sql语句筛选时间最新的数据

mysql批量插入数据