zoukankan      html  css  js  c++  java
  • shell通过sqlldr命令将数据文件导入到数据库

    前段时间了解到了sqlldr这个功能,感觉很不错就尝试着搞一下。我也是通过查阅网上的资料了解并实验的。
    sqlldr的作用是将数据文件导入数据库的表,只支持单个文件的导入。
    不过可以使用循环或者数据文件合并来实现多个文件的导入。
    利用sqlldr进行数据文件的导入只要两步:
    1.写一个ctl格式的文件(用于说明接收表的一些信息)

    参数说明:
    load data -- 1. 控制文件标识

      之后是对表的操作类型:insert:     默认值,在空表中插入记录,如果表不为空则会报错。    
                                             append:  在表中追加新记录。                
                                             replace:替换,将旧的记录去掉(用delete语句),添加上新的信息。
                                             truncate:替换,将旧的记录去掉(用truncate语句),添加新的信息。
                                             FIELDS TERMINATED BY "":数据分隔符。
                                            TRAILING NULLCOLS:当数据文件对应字段是空值时,表中对应字段就以null插入。
    

    2.写入导入语句:

    参数说明:
    userid:数据库的账号密码用户串
    control:控制文件,也就是第一步写的的文件
    log:日志文件,记录执行信息。
    bad:坏数据文件,出现错误的记录会出现在该文件中
    data:数据文件名字
    parallel:不会锁住加载表,可以同时让多个sqlldr语句操作一个表导入数据,这样不安全,一般用false。
    direct:Direct导入可以跳过数据库的相关逻辑(DIRECT=TRUE),而直接将数据导入到数据文件中,但是这样可能会破坏表的结构,一般用false。

  • 相关阅读:
    MySQL · 引擎特性 · InnoDB崩溃恢复
    MySQL · 引擎特性 · InnoDB Buffer Pool
    MySQL · 引擎特性 · InnoDB IO子系统
    MySQL · 引擎特性 · InnoDB 同步机制
    docker基本操作命令
    IIS日志导出mysql
    Win10 MySQL Community Server 8.0.17安装
    win10 TortoiseGit 图标不显示
    window环境配置nginx
    windows openssh安装
  • 原文地址:https://www.cnblogs.com/keyforknowledge/p/11400121.html
Copyright © 2011-2022 走看看