• 技术文章 >数据库 >mysql教程

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

    2016-06-07 17:05:56原创466

    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))效果是一样的。前者是绝对位置,后者是相对位置。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:安装Oracle 10g RAC 到最后遇到PRKP-1001 、CRS-0215错误的解决方法 下一篇:关于如何使用 JDeveloper 的 images
    PHP编程就业班

    相关文章推荐

    • 超详细汇总mysql优化实践技巧• MySQL面试问答集锦(总结分享)• mysql select语句中or的用法是什么• 浅析MySQL中的事务隔离级别,聊聊其实现原理• 一起分析MySQL的binlog怎么恢复数据

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网