oracle数据加载的几种常用方法

1、sqlldr参数
userid用户名和密码
control控制文件名称
log日志
bad坏信息文件
data数据文件
discard丢弃文件
discardmax允许丢弃数据量,默认全部丢弃
skip跳过逻辑记录,默认为0
load要加载的记录数,默认为全部加载
errors允许出现的错误数,默认为50
rows数组处理时的行数,默认为常规路径64,直接路径全部
bindsize数组大小,最大字节与操作系统有关,大小有参数rows确定,默认为65536字节
silent运行中是否压缩信息
direct是否使用直接路径加载数据,默认为false
parfile参数文件名称,将存储写成为一个文件
parallel是否使用并行加载,默认为false
readsize缓冲区大小,默认为1048576字节

2、固定格式加载实例
(1)创建一个空表
create table test(id number(4),name(varchar2(10));
(2)整理数据文件test.txt,格式如下:
1   dafen1
2   dafen2
3   dafen3


(3)编辑数据文件
load data
infile 'D:/test.txt'
into table test
(id position(01:01) integer external,
name position(03:08) char)

a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
position(03:08)的意思是把每一行的第3个字符到第8个字符的数据插入到name列

(4)调用SQL*LOADER
sqlldr hr/hr control=D:/test.ctl log=D:/log.txt
(5)检查加载结果
select * from test;

3、自由格式加载实例
编辑控制文件test.ctl格式如下:
load data
infile *
into table test
fields terminated by ','
optionally enclosed by ""
(id,name)
begindata
1,"dafen1"
2,"dafen2"
执行命令:
sqlldr hr/hr control=D:/test.ctl

4、将excel数据加载到oracle数据库中
把excel另存为book.txt,在选择格式的时候要选择带制表符的txt文本
编辑控制文件book.ctl格式如下:
load data
infile 'book.txt'
into table test
fields terminated by X'09'
(id,name)
X'09'是table键的意思
 

Oracle数据库中,有几种常见的方式可以进行数据的初始化,包括: 1. 使用INSERT语句: 最常见的方式是使用INSERT语句手动插入数据。通过编写INSERT语句,将数据逐条插入到表中。这种方式适用于小规模的数据初始化。 2. 使用INSERT INTO SELECT语句: INSERT INTO SELECT语句可以从其他表或查询结果中选择数据,并插入到目标表中。通过这种方式,可以快速将现有数据复制到新表中。 3. 使用SQL*Loader工具: SQL*Loader是Oracle提供的一个数据加载工具,可以从外部文件(如文本文件、CSV文件等)中批量加载数据数据库表中。通过配置控制文件,指定数据的格式和目标表,然后使用SQL*Loader工具执行加载操作。 4. 使用外部表(External Table): 外部表是一种特殊的表,它可以直接访问外部数据源(如文本文件、CSV文件等),而不需要将数据物理地加载数据库中。通过创建外部表,可以使用SQL查询语句直接读取和操作外部数据。 5. 使用Oracle Data Pump工具: Oracle Data Pump是Oracle提供的一种高效的数据导入/导出工具。可以使用Data Pump将数据从一个数据库导出到一个导出文件,然后再将导出文件导入到另一个数据库中。 这些方式可以根据具体需求和情况选择合适的方法来进行数据的初始化。对于大规模数据初始化或者数据迁移的情况,使用SQL*Loader或者Oracle Data Pump等工具可能更为方便和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值