Oracle一次性导入大批量数据

一、如果你想导入数据库的数据存放于一个txt文件中,并且这些数据之间是有分隔符做了分割的,那么就可以使用sqlldr来将数据导入到数据库中。
我只是简单的举个栗子,方便演示。假设数据之间靠‘|’来进行分隔,数据的形式如下:

		狂鼠|1|23|5|搞破坏|66号公路|
		..........................
		..........................
		..........................
		..........................
		..........................
		...........................
		..........................
		法鸡|11|33|4|天降正义|花村|

好,假设上面就是你想插入oracle数据库的数据,你应该进行以下操作:
1、将这个txt文件以及ctl文件放入到你的服务器上【比如说,你想将上述数据导入到你的开发数据库,那么你就将txt文件以及ctl文件放入到你对应的开发数据库的某个目录下,好比你放到了这样的目录:data/db/a】,至于说ctl文件里长什么样,我贴出来,但在这之前,你是不是应该创建一个后缀是ctl的文件了?下面睁大眼看ctl文件里的详细内容:

LOAD DATA
INSERT
INSERT INTO 你要插入的数据库的表名
FIELDS TERMINATED BY '|' ----------注意啊,从-----往后我写的是注释:BY '|' 是因为你的数据是按照‘|’来进行分隔的,如果你的数据是用别的符号分隔,那你就换成自己的分隔符号就行。
(
name,--------注意,这里还是注释,就是你的数据库表的列名
sex,
age,
class,
hobby,
address
)

2、利用你的工具【可能是xshell,也可能是crt,也允许你用别的连接工具】,使用命令进入到你的步骤1的目录中。进入的命令是这样的:cd /data/db/a;这样你就来到了你的存放txt文件的地方,你可以在你的当前目录下使用:ls 来查看是否有这样的一个文件,假如有这个ctl文件,并且文件名叫test.ctl以及存在一个txt文件,这个txt文件叫test.txt。
3、执行命令:sqlldr ‘数据库用户名/“数据库密码”’@数据库连接:端口号/数据库名 control=/data/db/a/test.ctl data=/data/db/a/test.txt errors=5000000 rows=50000 log=/data/db/a/test bad=/data/db/a/test.bad direct=true
执行步骤3,只需要把上面的汉字以及各个路径换成自己的真实的就行了。
二、如果你想导入的数据是以.sql的文件形式存在的,并且这个.sql文件里还是insert类型的语句:
1、将这个.sql文件放到环境的某个目录下
2、还是使用cd 的命令进入到这个文件所在的位置
3、执行:sqlplus 数据库名/数据库密码@数据库连接:端口号/数据库名
执行步骤3,只需要把上面的汉字换成自己的真实的就行了

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值