将CSV导入Oracle数据库中的办法

本文介绍了一种将CSV文件导入Oracle数据库的方法,尤其适用于大量数据的处理。通过创建外部表的方式,利用Oracle的external table特性,可以高效地完成数据导入工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Plsql Developer中 export to csv 很方便,但是没有相应的逆向的import功能, 譬如某次对查询出来的结果export to csv做了保存,之后如果需要将该csv文件再导入数据库,对这部分查询数据再做处理,会不太方便。

大约有40w数据。数据格式为:

"R1_1","R1_2","R4_1","R4_2","R12","H1","RDM","H1","RDM","R7_1","R7_2"
"艾","炳云","1944","8","2","331102101207002081","1","331102001006016074","1","3",""
"艾","程","1978","1","6","330204001008009032","2","330204004007015052","1","3",""
"艾","春丽","1978","10","3","330522100201010044","2","330522100037002170","1","2",""

方法1、在编辑器中替换 \n 为 \n insert into table_name values(
方法2、先导入Access数据库,然后导入Oracle

方法1面对数据量大时不能用。

其实可以用oracle的external table来处理,创建外部表,读取文本文件,像数据表那样处理。

第一步:创建Directory
create or replace directory dest_dir_name as 'G:\'

第二步:创建external table,读取数据文件
create table TEMP_12
(
R1_1 VARCHAR2(255),
R1_2 VARCHAR2(255),
R4_1 VARCHAR2(255),
R4_2 VARCHAR2(255),
R12 VARCHAR2(255),
H1 VARCHAR2(255),
RDM VARCHAR2(255),
H1_1 VARCHAR2(255),
RDM_1 VARCHAR2(255),
R7_1 VARCHAR2(255),
R7_2 VARCHAR2(255)
)
ORGANIZATION EXTERNAL (
TYPE oracle_loader
DEFAULT DIRECTORY dest_dir_name
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(R1_1, R1_2, R4_1, R4_2, R12, H1, RDM, H1_1, RDM_1, R7_1, R7_2))
LOCATION ('test20110217.csv')
)
PARALLEL
REJECT LIMIT 0
NOMONITORING;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值