使用SQL*Loader高速批量数据加载工具

WBOY
풀어 주다: 2016-06-07 17:05:56
원래의
1108명이 탐색했습니다.

1.控制文件中包含要加载的数据 首先创建一张测试表 SQLgt; show user USER 为 ING SQLgt; create table dept 2

1.控制文件中包含要加载的数据

首先创建一张测试表

然后创建一个控制文件(其中包含被加载的数据)

然后在命令行执行加载

查看dept表

查看demo1.log日志文件

2.控制文件和数据文件分开

继续使用前面的dept表,,首先创建一个控制文件和一个数据文件

然后在命令行执行加载

最后查看dept表

3.sql*loader简要说明

注意:下面代码左边加括号的数并不是控制文件的一部分,只是为了方便显示。

(1)LOAD DATA
(2)INFILE *
(3)INTO TABLE DEPT
(4)FIELDS TERMINATED BY ','
(5)(DEPTNO,DNAME,LOC)
(6)BEGINDATA
(7)10,Sales,Virginia
(8)20,Accounting,Virginia
(9)30,Consulting,Virginia
(10)40,Finance,Virginia
(1):这会告诉sqlldr要做什么,上面的例子指示要加载数据。
(2):*是指要加载所有的数据(例子1),也可以直接指定数据文件的名字(例子2)。
(3):这会告诉sqlldr要加载到哪个表中。完整语法:[insert | append | replace | truncate] into table dept     insert - 默认就是insert,后面的dept表必须的空的;append  - 是追加,后面的dept表可以不为空;replace - 是先delete然后在insert;truncate - 是先truncate再insert。
(4):是告诉sqlldr以逗号分隔值。
(5):是告诉sqlldr数据要加载到对应的列中。
(6):是告诉sqlldr要加载的数据开始了。
(7)~(10):是要被加载的具体的数据。

4.常见的一些问题

如何加载特殊字符(引号)

查询结果

说明:部门10中的Virginia,USA:这是因为数据是"Virginia,USA"。输入数据字段必须包括在括号里才能保留数据中的逗号。

VS,"USA":这是因为输入数据是"VS,""USA"""。对于括号引起的字符串,两次“记为一次出现。

如何加载固定格式数据

查看

说明:上面控制文件的(DEPTNO POSITION(1:2), DNAME POSITION(3:12), LOC POSITION(13:20))还可以改为(DEPTNO POSITION(1:2), DNAME POSITION(*:12), LOC POSITION(*:20))效果是一样的。前者是绝对位置,后者是相对位置。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!