专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

使用sqlldr数据处理 sqlldr教程

ins518 2024-11-13 11:34:45 技术文章 12 ℃ 0 评论

日常工作中,经常会碰到这样的问题:运营部门给出一个excel表,希望运维部门根据此excel里的数据来更新或插入到表里。有2种方法:第一种,通过pl/sql developer 的“ODBC导入器”来实现;第二种,通过oracle自带的sqlldr工具来导入,本文举例介绍用此方法来导入数据。

根据excel表格字段,建立要存放数据的临时表

  • 建表和sequence
  • excel的数据如下:

把excel文件另存为csv文件

  • 删除第一行头,并另存为csv文件。如果数据库字符集是GBK,则选择不带UTF-8的保存类型。
  • 另存为csv后的内容如下:

写规则控制文件

  • 控制文件为test.ctl,内容如下:
  • 常用写法说明:数据插入模式

APPEND --原先的表有数据 就加在后面

INSERT --装载空表 如果原先的表有数据 sqlloader会停止 默认值

REPLACE --原先的表有数据 原先的数据会全部删除

TRUNCATE --指定的内容和replace的相同 会用truncate语句删除现存数据

  • 字段分隔符,常用的有:

FIELDS TERMINATED BY X '09'

FIELDS TERMINATED BY ','

FIELDS TERMINATED BY WHITESPACE

  • 表的字段没有对应的值时允许为空

TRAILING NULLCOLS

  • 很多数据源的字段开始和结束都是带双引号的,该语句意思就是无视这些个双引号

OPTIONALLY ENCLOSED BY '"'

  • 指定那一列不被装载,在该列后添加FILLER关键字

使用sqlldr命令导入数据到临时表

  • sqlldr username/pwd@constr control=test.ctl
  • 可以用sqlldr help=y查看参数使用说明

检查数据是否导入

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表