哈喽,大家好,今天分享一个如何把文本数据快速导入到Oracle数据库的一个方法。
首先介绍一下sqlldr工具,它是由Oracle提供,专本用于把文本数据导入到Oracle数据库。它需要两个文件,一个是文本数据文件,另外一个是ctl文件。ctl文件主要是配置一些参数,比如文本数据的分割符,首行或其他具体行需不需要跳过,导入到哪张表,字段都哪些,这些字段都是什么属性等等。
首先我设计的一个表——xs,只有两个字段,xuehao,xingming,都是char型。
现在我的文本数据命名为ctl_test.dat,里面只包含五条数据,每一个字段都写在双引号里面,字段与字段之间用逗号隔开。
"181022","jing"
"181023","heng"
"181024","yuan"
"181025","xin"
"181026","ting"
现在介绍一下CTL文件。
OPTIONS (skip=0) --设置跳过某行不进行读取。
LOAD DATA
INFILE "/home/oracle/Desktop/ctl_test.dat"
--truncate是将表数据清空。默认是insert,但需要truncate将表清空,否则会报错。append是在原表后面追加。replace是将表中数据进行覆盖。
append
INTO TABLE xs -- 要插入记录的表
Fields terminated by "," -- 数据中每行记录用 ",