日期:2014-05-18  浏览次数:20686 次

SQL——insert大量数据问题
现在需要使用向表中insert数据
大约100w条
我自己写程序一条一条的往里插,时间特别长特别长
而在Sql直接导文本则效率高很多
但直接导文本还需要将很多的数据进行分析,去掉一些冒号之类的
想问的是:
insert 100w条数据怎样做效率是最高的
数据本来是存在文本里的
然后刚才随便查阅了一下,很多人说用bcp,能否解释一下bcp...
thx~

------解决方案--------------------
bcp "select * from 表名" queryin d:\名称.txt -c -q -SD服务器名 -U用户名 -P密码

------解决方案--------------------
如果不对数据做其他改动,直接插入,用SQL的导入导出工具.
如果要对数据做出判断后才导入,就得自己写代码了.
------解决方案--------------------
BULK INSERT这个可以。
------解决方案--------------------
end 是与BEGIN配对的,有那个吗?
------解决方案--------------------
insert t1
select col1=isnull(col1,''),....--指定列
from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\;','select * from roy.txt')a


如果txt没列名时,可自定义:
"col1" "col2"--在txt第一行