如何用SQL语句将数据批量插入数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用SQL语句将数据批量插入数据库相关的知识,希望对你有一定的参考价值。
我是新手,在工作中遇到如下问题,希望各位兄弟帮忙解决下谢谢。
我有一个文档(共5000行),里面有如下内容:
IS2004 张强 KG22
IS1125 刘明 PG56
IS3658 王二 MH72
..............
我想把这3列批量插入到自己建的表里,不知道该如何实现,请各位帮忙,详细点谢谢
最好能具体写一下,我才接触数据库,是SQL Server 2000,谢谢
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下执行:
mysql下执行后结果:
sqlserver下执行:
update table1 set c=b.c from table1 a inner join table2 b on a.a=b.asqlserver下执行后结果:
以后提问时说明用的什么数据库,不同数据库语法都不同的。
参考技术A 表结构 能列出来吗?以上是关于如何用SQL语句将数据批量插入数据库的主要内容,如果未能解决你的问题,请参考以下文章