pl/sql导出数据到txt文件和将txt数据导入到数据库

1,导出数据到txt文件

工具为pl/sql,spool

1)导出数据脚本

将以下脚本写好后保存为自己的文件名,此处为spool.txt

set feedback off  //回显本次sql命令处理的记录条数,缺省为on
set heading off   //输出导出数据的标题,缺省为on
set verify off       //校验环境变量
set echo off        //显示start启动的脚本中的每个sql命令,缺省为on 
set pagesize 0    //输出每页行数,缺省为24,为了避免分页,可设定为0。
set linesize 100   //输出一行字符个数,缺省为80
set termout off   //去除标准输出每行的拖尾空格,缺省为off
spool E:sql\test.txt    //保存导出数据的文件名
SELECT col_a||'|'||col_b||'|'||col_c from table_a where col_a=1;  //导出的数据格式,此处用管道符‘|’做分割
spool off;   //导出结束
2)打开pl/sql的command窗口

在这里插入图片描述
如图,在命令窗口中输入第一步中的文件名,用绝对路径。要有@符号。回车执行。
执行结束后会到下一行
在这里插入图片描述
导出速度:我的数据大概90万,执行时间大约2分钟。
结束后可以在E:sql\test.txt看到导出的文件。

2 将导出的文件导入数据库

工具为sqlldr
1,在服务器新建文件 insert.ctl

load data infile
'test.txt'                                    //要导入的txt文件
append into table test_table                  //以追加的方式将数据添加到表test_table
fields terminated by '|'                      //以管道符‘|’分割数据
optionally enclosed by '"'
trailing nullcols
(cola,colb,colc)

2,执行insert.ctl
在命令行 sqlldr user/root@oracle control=insert.ctl

导入速度:90万笔,大概2分40秒

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值