mysql sql loader_Sql Loader的简单使用

article/2025/9/19 12:35:57

之前总结的关于SQL*Loader的用法,今天又用到,又翻出来看看

SQL*Loader 可将外部文件中的数据加载到Oracle DB的表中。它具有一个功能强大的数据分析引擎,因此对数据文件中数据的格式没有什么限制。

SQL*Loader 使用以下文件:输入数据文件:SQL*Loader 从控制文件中指定的一个或多个文件(或操作系统的等效文件)中读取数据。从SQL*Loader的角度看,数据文件中的数据是按记录组织的。一个特定的数据文件可采用固定记录格式、可变记录格式或流记录格式。可通过控制文件中的INFILE参数指定记录格式。如果未指定记录格式,默认格式为流记录格式。

控制文件:控制文件是一个文本文件,它是使用SQL*Loader 可识别的语言编写的。控制文件指示SQL*Loader在何处查找数据、如何分析和解释数据以及在何处插入数据等等。控制文件算是一个导入的模板。

日志文件:SQL*Loader 开始执行时,会创建日志文件。如果不能创建日志文件,执行就会终止。日志文件包含加载操作的详细说明,包括加载过程中发生的任何错误的说明。

坏文件:坏文件中包含被SQL*Loader 或Oracle DB拒绝的记录。当输入格式无效时,SQL*Loader就会拒绝数据文件记录。SQL*Loader接受处理某一数据文件记录后,会将该数据文件记录发送到Oracle DB,以便能够作为一行插入到表中。如果Oracle DB确定该行有效,就会将该行插入到表中;如果确定该行无效,则会拒绝该记录,然后SQL*Loader会将该记录放入坏文件中。

放弃文件:仅当需要这种文件并且指定了应启用放弃文件时,才会创建此文件。放弃文件中包含的记录是因不符合控制文件指定的任何记录选择标准而从加载中过滤掉的记录

后面三个可以不选

操作步骤如下:

1),建立数据文件,我这里使用的是从plsql developer中导出来的emp表emp.csv。

内容如下:

3abbeb7090cab79dbf9024a30099b42c.png

2),target表要存在,要保持与数据文件的字段定义一致,否则会出错。这里我使用as select方式根据emp表创建一张表emp3,再使用delete语句清空表数据。

3),建立一个控制文件user.ctl。我这里的控制文件是我用EM工具生成的。内容如下:

OPTIONS (skip=1,rows=128)

LOAD DATA

INFILE '/u01/app/oracle/oradata/orcl/emp.csv'

APPEND

INTO TABLE SCOTT.EMP3

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

(

EMPNO INTEGER EXTERNAL,

ENAME CHAR,

JOB CHAR,

MGR CHAR,

HIREDATE DATE,

SAL INTEGER EXTERNAL,

COMM INTEGER EXTERNAL,

DEPTNO INTEGER EXTERNAL

)

注:

1.LOAD DATA语句通知SQL*Loader开始新数据加载操作

2.INFILE关键字指定含有待加载数据的数据文件的名称。这里还可以使用 BADFILE、DISCARDFILE来指定坏数据和丢弃数据的文件

3.APPEND关键字是将数据加载到非空表时可以使用的选项之一。要将数据加载到空表中,请使用INSERT关键字。

4.INTO TABLE 要插入记录的表

5.Fields terminated by ","   定义数据中每行记录用","分隔

6.Optionally enclosed by '"' -- 数据中每个字段用'"'框起,比如字段中有","分隔符时

7.第一行处OPTIONS,skip=1是跳过第一行,rows=128定义要加载的行数限制

4),执行命令:sqlldr system/oracle control=user.ctl

截图如下:

59db738cce9b7813e96f58d0b6febcc5.png

5),查询验证

3ec06b9d8eb0490401d9b0f633a7686f.png

sqlldr更多用法请自行网上搜索···


http://chatgpt.dhexx.cn/article/Fs2Otn5g.shtml

相关文章

Linux中sql*loader-350,SqlLoader

Sqlloader的步骤 1) Oracle 数据库端必须已经建好了需要导入的数据表的结构 2) 存在数据源文件 3) 手工编辑一个XXX.CTL 的控制文件 4) 命令行加载数据 Sqlldr命令具体信息如下图 Sqlldr运行的一个具体例子 sqlldr userid=user1/123456 control=bcp1.ctl log=log/bcp1.log bad=…

如何使用SqlLoader导入数据

Oracle 使用sqlloader导入数据非常方便,下面是我的导入步骤: 第一步,检查机器安装了sqlldr.exe没? 2、建一张表 CREATE TABLE student1 ( sname varchar (20), sage INTEGER, semall varchar (20), sphone VARCHAR (20), saddress varchar (…

MyBatis select标签

在 MyBatis 中,select 标签是最常用也是功能最强大的 SQL 语言,用于执行查询操作。 select 示例语句如下。 SELECT id,NAME,url FROM website WHERE NAME LIKE CONCAT (‘%’,#{name},‘%’) 以上是一个 id 为 selectAllWebsite 的映射语句&#xff0…

MyBatis标签对postgreSQL中returning返回参数的处理

mybatis中用标签处理SQL语句时,遇到pgsql中比较特殊的returning *。 当INSERT时会返回returning后的字段,但是在mybatis中使用INSERT("${sql}")时会遇到如下错误 ps: Mapper method com.lingtu.mapper.EventMapper.insert has an u…

MyBatis 配置文件标签

文章目录 MyBatis 配置文件标签1. properties2. settings3. plugins4. typeAliases5. environments6. mappers MyBatis 配置文件标签 MyBatis 的全局配置文件习惯上命名为:mybatis-config.xml ,此文件名仅仅是建议,并非是强制要求。配置文件存…

Mybatis值trim标签

Mybatis具有实现动态SQL的能力,使用这个特性免不了会用到trim这个标签,trim标签的功能简单来说就是自定义格式拼凑SQL语句。 trim有4个属性: prefix:表示在trim包裹的SQL前添加指定内容 suffix:表示在trim包裹…

MyBatis foreach标签

前面我们学习了如何使用 Mybatis if、where、trim 等动态语句来处理一些简单的查询操作。对于一些 SQL 语句中含有 in 条件,需要迭代条件集合来生成的情况,可以使用 foreach 来实现 SQL 条件的迭代。 Mybatis foreach 标签用于循环语句,它很…

mybatis常用标签

一.定义sql语句 1.select 标签 属性介绍: (1)id :唯一的标识符. (2)parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user (3)resultType :语句返回值类型或别名。注意&#xff…

Mybatis中标签大全

文章目录 一、标签分类 二、标签总结 1. 基础SQL标签 1.1 查询select 1.2 增删改 1.3 其他基础标签 1.3.1 sql 标签 1.3.2 include 标签 1.3.3 if 标签 1.3.4 别名 2. collection与association标签 3. resultMap标签 4. foreach标签 5. where标签 6. set标签 7.…

jarsigner命令行签名打包

jarsigner签名,之前都是通过AS进行签名,通过这种方式也是可以签名的,需要提前把需要的东西准备好,现在把步骤记录在下面。(下面的操作都是在jdk的路径下进行操作) 1.首先准备Jdk的路径(在androi…

jarsigner: 无法打开 jar 文件: tap_unsign.apk

flutter 的 android项目上线,我们在想应用宝发布应用时,需将key.jks文件放入应用宝的空白文件中,在cmd中执行 jarsigner -verbose -keystore key.jks -signedjar baoming.apk tap_unsign.apk name遇到如下报错 jarsigner: 无法打开 jar 文件…

apk重签名之jarsigner命令签名

apk的签名工作可以通过两种方式来完成: 1)通过ADT提供的图形化界面完成apk签名;2)完全通过DOS命令来完成apk签名 1)准备工作 我比较喜欢第2)种方式,所以下面将讲解如何通过命令的方式完成apk…

jarsigner签名

上线了3年多的项目,最近为了进行市场推广,在现在主流的vivo,oppo,华为及百度和阿里进行上传应用.因为有些市场是因为有抓取包的行为(比如在oppo应用市场,以前从未在oppo市场上传过应用,但是能在他的市场中搜索到,这就是因为在其他市场比如应用宝这些市场抓取过包),因此在诸如op…

使用jarsigner工具apk签名算法问题

为 -digestalg 选项指定的SHA1 算法 被视为存在安全风险。此算法将在未来的更新中被禁用。 为 -sigalg 选项指定的SHA1withRSA 算法被视为存在安全风险。此算法将在未来的更新中被禁用。 修改: 将 signcmd "%sjarsigner" -keystore "%s" -st…

Metasploit远程控制安卓手机,jarsigner(工具找不到)签名使用问题zipalign(工具)及解决方法

问题点: 1.kali linux2020.3版本,在使用msf生成安卓木马时远控手机,签名时需要3个工具,分别是keytool,jarsigner,zipalign,只提示有keytool工具,jarsigner和zipalign工具找不到. 2.在模拟器中成功,但很多…

使用jarsigner对APK签名

写在文章中之前:网上当前很多关于jarsigner对APK签名的讲法,但是有些讲的很粗糙,有些还在就在抄袭他人的文章,而自己却没有去验证是否正确 一、由于自己在工作中要用到jarsigner对apk进行最后的发布签名,所以自己也去…

Android 应用平台加固之后操作(apk重签名「zipalign」「apksigner」「jarsigner」) 操作环境:MacOS

Android 应用平台加固之后操作(apk重签名)「zipalign」「apksigner」「jarsigner」 前言运行环境对齐(zipalign)重签名 apksigner (推荐方法)重签名 jarsigner (v1打包)具体使用对齐「zipalign」出现 "Output file ......apk…

Windows平台 使用jarsigner对Apk签名

使用的是JDK自带的jarsigner工具来完成Apk签名 1) 首先找到你的Java Jdk中bin的路径:C:\Program Files\Java\jdk1.8.0_152\bin jarsigner简单使用说明 #jarsigner的命令格式: jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存…

jarsigner和apksigner对apk/aab签名

1、查看签名文件的信息 工具目录:C:\Program Files\Java\jre1.8.0_331\bin keytool -list -v -keystore E:\test.jks输入该命令,然后输入密码,即可查看签名信息 2、签名工具 签名工具说明位置jarsignerJDK提供的针对jar包签名的通用工具…

Android jarsigner和apksigner签名apk(.jks)

前言 为了增加 Apk 的安全性,防止反编译,我们会对开发的 Apk 做签名处理,如果要上架应用商店,部分还会要求 Apk 必须加固后才能上架。另外存在一部分免费加固apk后会删除AndroidStudio打包的签名,需要我们重新签名&am…