社区
MS-SQL Server
帖子详情
SQL——insert大量数据问题
crescent_star
2007-10-19 02:28:07
现在需要使用向表中insert数据
大约100w条
我自己写程序一条一条的往里插,时间特别长特别长
而在Sql直接导文本则效率高很多
但直接导文本还需要将很多的数据进行分析,去掉一些冒号之类的
想问的是:
insert 100w条数据怎样做效率是最高的
数据本来是存在文本里的
然后刚才随便查阅了一下,很多人说用bcp,能否解释一下bcp...
thx~
...全文
408
9
打赏
收藏
SQL——insert大量数据问题
现在需要使用向表中insert数据 大约100w条 我自己写程序一条一条的往里插,时间特别长特别长 而在Sql直接导文本则效率高很多 但直接导文本还需要将很多的数据进行分析,去掉一些冒号之类的 想问的是: insert 100w条数据怎样做效率是最高的 数据本来是存在文本里的 然后刚才随便查阅了一下,很多人说用bcp,能否解释一下bcp... thx~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
中国风
2007-10-20
打赏
举报
回复
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第一行
crescent_star
2007-10-20
打赏
举报
回复
恩,今天把问题解决了,最后发现我写的东西的确是没有错的,可是在用bcp插入时即使有字段可以为空,但不表示txt里可以没有这个内容,所有为空的字段不需要插的字段我在txt里加上了,然后就能插了
谢谢大家~
crescent_star
2007-10-19
打赏
举报
回复
最新近况:
EXEC master..xp_cmdshell 'bcp datebase..table out "c:\1.txt" -c -t"," -r "\r\n" -U"sa" -P"sa"'
导出成功
但导入时
EXEC master..xp_cmdshell 'bcp datebase..table in "c:\1.txt" -c -t"," -r "\r\n" -U"sa" -P"sa"'
却报错
报错为:
NULL
开始复制...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]在 BCP 数据文件中遇到的意外的 EOF
NULL
已复制了 0 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 1
NULL
请问究竟是为什么呢....thxthxthx...你们都是偶得神啊
而且就算我任意的在文本里输入
1,1,1,1,1,1,1,
都会报错
而且表里的字段都是允许为空的
有一个时间字段,但就算我把那里改成标准格式还是报相同的错...
guyehanxinlei
2007-10-19
打赏
举报
回复
end 是与BEGIN配对的,有那个吗?
crescent_star
2007-10-19
打赏
举报
回复
..............
说详细点
我刚刚找到的
BULK INSERT 表名 FROM 'c:\test.txt'
WITH
(
FIELDTERMINATOR = '',
ROWTERMINATOR = '\n'
)
end
EXEC master..xp_cmdshell 'bcp mydatabase..mrc in d:\mrc.txt -c -S 127.0.0.1 -U sa -P sa'
然后把这一句改成自己需要的
我是这样理解的
FIELDTERMINATOR='' //这个应该是用来分隔的字符
ROWTERMINATOR='' //这个应该是分隔两行数据的字符
然后EXEC master..xp_cmdshell 'bcp mydatabase..mrc in d:\mrc.txt -c -S 127.0.0.1 -U sa -P sa'
根据自己的需要填入就行了
我的理解是否正确?
现在是...
我放在查询分析器里运行,报end附近有错误
nokia4321
2007-10-19
打赏
举报
回复
BULK INSERT这个可以。
crescent_star
2007-10-19
打赏
举报
回复
恩的确是用导入导出工具非常快,但它的效率为什么这么高呢...
如果不用导入导出工具用什么方法效率会最高
即使我在程序中写代表,也是要写专门对sql的操作的
dawugui
2007-10-19
打赏
举报
回复
如果不对数据做其他改动,直接插入,用SQL的导入导出工具.
如果要对数据做出判断后才导入,就得自己写代码了.
wolaile27
2007-10-19
打赏
举报
回复
bcp "select * from 表名" queryin d:\名称.txt -c -q -SD服务器名 -U用户名 -P密码
Hive那些事儿之八-大
数据
踩过的坑——Hive
insert
我在对Hive表
数据
清洗后,使用了如下
SQL
将结果集插入到新表中:
insert
into db_name.table_name_1 ( col_1,col2,col3 ) with temp_table_1 as ( select id,col_2 from db_name.table_name_2 where id = ...
第3.1章:StarRocks
数据
导入——
Insert
into
第3.1章:StarRocks
数据
导入——
Insert
into 同步模式
1 .
SQL
——DataGrip 中的DML三种添加
数据
方法
【代码】1 .
SQL
——DataGrip 中的DML三种添加
数据
方法。
SQL
优化——插入
数据
优化(load指令的使用)
my
sql
的事务提交方式是默认自动提交的,当执行完一条
insert
语句...将100w的
数据
量加载到my
sql
中所耗时间为大概17s,如果采用
insert
语句去加载
数据
,大概需要耗时十多分钟,这个load加载
数据
的效率提升还是十分明显的。
如何快速执行
大量
insert
语句
一:遇到的
问题
最近在做
数据
库迁移的工作,其中有一些
数据
表
数据
量庞大,传统的执行
insert
语句批量执行,执行速度非常的缓慢。...3.然后需要做的就是在原库中编写
sql
,实现跨库的select——
insert
操作,具体...
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章