拓展:另外,还可以使用编程语言,比如Java或者Python,开发一个专门的程序来实现csv文件到数据库表之间的转换。
Oracle数据库导入csv文件,当csv文件较小时,
可以使用数据库管理工具,
比如DBevaer导入到数据库,
当csv文件很大时,
可以使用Oracle提供的sqlldr命令行工具,
能够快速导入大量数据。
在数据库之间进行数据迁移时,
特别是不同类型的数据库,
使用csv文件是一种很好的选择。
2.sqlldr用法
下面介绍sqlldr用法,
有一个USER_INFO.csv文件,
需要导入到数据库中USER_INFO表,
而且有1.5亿条数据,
要求导入耗时尽量小。
这里先介绍基本的导入方式,
然后介绍direct导入方式,
最后介绍parallel导入方式。
3.获取csv文件
USER_INFO.csv文件内容如下,
这里仅选取了三条测试数据:
MSISDN,PROVINCE_CODE,CREATE_TIME
8617512570551,30,2019-10-31 17:16:09
8613063310680,33,2019-10-31 17:16:12
8613295281345,80,2019-10-31 17:16:14
4.创建USER_INFO表
CREATE TABLE "USER_INFO" (
"MSISDN" VARCHAR2(16),
"PROVINCE_CODE" VARCHAR2(4),
"CREATE_TIME" DATE,
CONSTRAINT "PK_USER_INFO_MSISDN" PRIMARY KEY ("MSISDN")
) TABLESPACE "USERS"
COMMENT ON COLUMN "USER_INFO"."MSISDN" IS '用户手机号'
COMMENT ON COLUMN "USER_INFO"."PROVINCE_CODE" IS '省份编码'
COMMENT ON COLUMN "USER_INFO"."CREATE_TIME" IS '用户创建时间'
注意表中字段要和csv文件对应。
5.创建ctl文件
创建名为loaddata_USER_INFO.ctl的控制文件:
options(skip=1,BINDSIZE=20971520, ROWS=10000, READSIZE=20971520, ERRORS=999999999)
load data
in
首先1.csv文件内容:
1 2
3 name
5 id
数据库中有个t表:
create table t (id number , name varchar2(2000))
然后使用使用plsql developer的text imporer。
如图点击红圈的按钮,打开一个包含数据的文件
选择刚才新创建的1.csv文件,就会出现下图的内容。可以根据需求自行修改分隔符。
默认空格为分隔符,这里不做其他设置,工具自动识别出了两列信息。
然后选择data to oracle 选项卡,选择要导入的oracle 数据库的用户名以及表名称。
选择对应字段。
最后点击import导入即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)