版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiyang_1/article/details/54668011
首先,提下数据转化为能导进数据库的格式,office excel有很强大的功能可以进行批量的操作,不用重复的进行增列,删列,分列,同时还可以转换成csv格式,朋友可以了解一下录制宏,以及使用visual basic编程,进行批量格式转化,省去不少麻烦。进入正题,数据文件导入数据库的三种办法如下:
1、pl/sql developer工具导入
进入要导入的数据库用户,选择tools->TextImporter->open data file (文件中的csv的表头必须和数据库表头对应一样,这样方便)->Data to Oracle->选择Owner和Table->点击 Import进行导入。注意此种方法特别慢。
2、sqlldr 导文件进数据库
进入需要导进数据库的文件下,写insert.ctl文件
文件内容如下:
load data
infile 'weather8.csv'
append into table weather.weatherdatapart8
fields terminated by ','
trailing nullcols #如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null
(
路径,日期,时间,温度,P0,P,Pa,湿度,风向,风速,ff10,ff3,总云量,WW,W1,W2,Tn,Tx,Cl,Nh,H,Cm,Ch,VV,Td,RRR,tR,E,Tg,E1,sss
)
打开cmd命令,输入命令sqlldr weather/weather@weatherfw control=insert.ctl
此内容仅供参考,此方法比上一个方法快了很多。
3、建立外部表导入
将要导的文件放到数据库安装目录下,例如:C:\app\changyong\admin\orcl\dpdump
create table WEATHERDATA8
(
路径 VARCHAR2(100),
日期 VARCHAR2(50),
时间 VARCHAR2(30),
温度 VARCHAR2(50),
P0 VARCHAR2(50),
P VARCHAR2(50),
PA VARCHAR2(50),
湿度 VARCHAR2(10),
风向 VARCHAR2(100),
风速 VARCHAR2(50),
FF10 VARCHAR2(100),
FF3 VARCHAR2(100),
总云量 VARCHAR2(100),
WW VARCHAR2(200),
W1 VARCHAR2(100),
W2 VARCHAR2(100),
TN VARCHAR2(100),
TX VARCHAR2(100),
CL VARCHAR2(200),
NH VARCHAR2(100),
H VARCHAR2(100),
CM VARCHAR2(200),
CH VARCHAR2(200),
VV VARCHAR2(100),
TD VARCHAR2(100),
RRR VARCHAR2(100),
TR VARCHAR2(100),
E VARCHAR2(100),
TG VARCHAR2(100),
E1 VARCHAR2(100),
SSS VARCHAR2(100)
)
organization external
(
type ORACLE_LOADER
default directory DATA_PUMP_DIR
access parameters
(
records delimited by newline
fields TERMINATED BY ','
optionally enclosed by '"' #无视字符串中双引号
missing field values are null #如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null
)
location (DATA_PUMP_DIR:'weather8.csv')
)
reject limit UNLIMITED;
insert into WEATHERDATA select * from WEATHERDATA8
创建外部表后,需将数据从外部表导入到内部表中,关于外部表的详细参数可以自己查阅相关文档。
此种方法导数据很快,导千万行数据也是瞬间完成。