spoon工具的常用基础操作

一些常用转换工具

在这里插入图片描述

1、emp表输入->excel表输出

emp表输入,可以进行预览查看数据有没有过来在这里插入图片描述excel表输出
在这里插入图片描述
在这里插入图片描述
成功执行后,可以到保存的excel位置进行查看。

2、excel输入->表输出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行转换后可以在oracle进行查看是否有成功创建这个表
在这里插入图片描述

3、对部门最高工资进行分组==表输入->排序记录->分组->文本文档输出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、对emp表和dept表进行表连接

  1. 新建两个表输入,一个是对emp表的查询,一个是对dept查询
  2. 分别对两个表进行以deptno进行排序记录
  3. 拖拽一个记录集连接的图标在这里插入图片描述
  4. 运行转换成功后可进行表预览查看在这里插入图片描述

5、查找每个职位排名第一的信息==表输入->排序记录->根据字段值来改变序列->过滤记录->输出

  1. 表输入查找emp表数据
  2. 对job下的工资进行排序,也就是两个字段都要加进去,job在前,sal降序在后,不然数据会出问题。在这里插入图片描述
  3. 根据字段值来改变序列在这里插入图片描述
  4. 过滤记录里面,根据排名结果进行过滤在这里插入图片描述
  5. 运行转换查看结果在这里插入图片描述

6、列转行

  1. 先到oracle对demo和demo1进行建表

CREATE TABLE "DEMO" (  "ID" NUMBER(*,0), "NAME" VARCHAR2(20), "NUMS" NUMBER(*,0)) ;
insert into DEMO (id, name, nums)
values (1, '苹果', 1000);
insert into DEMO (id, name, nums)
values (2, '苹果', 2000);
insert into DEMO (id, name, nums)
values (3, '苹果', 4000);
insert into DEMO (id, name, nums)
values (1, '橘子', 5000);
insert into DEMO (id, name, nums)
values (2, '橘子', 3000);
insert into DEMO (id, name, nums)
values (3, '葡萄', 3500);
insert into DEMO (id, name, nums)
values (4, '芒果', 4200);
insert into DEMO (id, name, nums)
values (4, '芒果', 5500);
commit;select * from DEMO;create table demo1 as 
select  id,sum(case when name='苹果' then nums end) 苹果,sum(case when name='橘子' then nums end) 橘子, sum(case when name='葡萄' then nums end) 葡萄,sum(case when name='芒果' then nums end) 芒果 
from  demo
group by id
order  by id;select * from demo1;
--列转行
select * 
from demo1
unpivot include nulls (nums for name in (苹果,橘子,葡萄,芒果));
  1. 对demo1进行表输入sql查询
  2. 列转行在这里插入图片描述
    在这里插入图片描述
  3. 运行转换
    转换前在这里插入图片描述

转换后在这里插入图片描述

7、行转列(对demo的name字段行转列)

sql语句的行转列

--unpivot方法
select * 
from demo1
unpivot include nulls (nums for name in (苹果,橘子,葡萄,芒果));--聚合函数+case when
select  id,sum(case when name='苹果' then nums end) 苹果,sum(case when name='橘子' then nums end) 橘子,sum(case when name='葡萄' then nums end) 葡萄,sum(case when name='芒果' then nums end) 芒果 
from demo
group by id
order by id;
  1. 对表输入demo1的数据
  2. 因为要用到聚合函数所以需要用到排序记录,对不动的列id进行排序
  3. 行转列在这里插入图片描述
  4. 进行表输出demo2在这里插入图片描述

8、case when 的使用

10部门 员工姓名转小写并向右填充* 至九位 ,job转首字母大写
20部门 员工姓名S替换成* ,M-Z 替换成#
30部门 职位SALESMAN替换成销售

  1. 表输入emp数据

  2. case when在这里插入图片描述

  3. 对不同的条件进行不同字符操作在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 输出到一直excel表,运行结果输出在这里插入图片描述

9、全量更新。会复制源表内容到目标表。根据ETL_DATE字段,目标表的数据=原来旧的的表数据+本次复制的所有源表数据

  1. 准备测试数据

--建立源表-------------------
DROP TABLE EMP_YUAN;
CREATE TABLE EMP_YUAN AS
SELECT T.EMPNO,T.JOB,T.SAL,SYSDATE-2 HIRE_DATE,SYSDATE-2 UP_DATE
FROM EMP T WHERE DEPTNO = 10;--建立目标表-----------------
DROP TABLE EMP_MUBIAO;
CREATE TABLE EMP_MUBIAO AS
SELECT T.EMPNO,T.JOB, T.SAL,T.HIRE_DATE,T.UP_DATE,SYSDATE-1 ETL_DATE
FROM EMP_YUAN T;-------------------------------------------------------
SELECT * FROM EMP_YUAN; ----业务数据发生的表
SELECT * FROM EMP_MUBIAO;----备份或数仓中的历史表
-------------------------------------------------------INSERT INTO EMP_YUAN
SELECT T.EMPNO,T.JOB, T.SAL,SYSDATE-1 HIRE_DATE,SYSDATE-1 UP_DATE
FROM EMP T WHERE DEPTNO = 20;
-----新入职了五个员工UPDATE EMP_YUAN SET SAL=2000,UP_DATE = SYSDATE-1 WHERE EMPNO = 7934;
----员工7934的工资发生了变化
COMMIT;
  1. 表输入查找源表emp_yuan数据
  2. 获取系统时间,建立一个新字段ETL_DATE和目标表的字段对应在这里插入图片描述
  3. 表输出,用源表数据覆盖目标表内容在这里插入图片描述在这里插入图片描述

10、增量更新。对比原表,更新和插入新的内容。

  1. 查询源表数据在这里插入图片描述
  2. 获取系统时间etl_date,用来匹配目标表字段在这里插入图片描述
  3. 插入/更新在这里插入图片描述

利用‘作业’定时发送邮件

  1. 新建一个作业
  2. 拖入 start、转换、成功、发送邮件
  3. 转换随便放入一个有效的转换文件
  4. 发送邮件的前提是要当QQ后台,账户->设置->第三发服务->开启服务后保留授权码等会要用在这里插入图片描述
  5. 地址填写在这里插入图片描述
  6. 服务器在这里插入图片描述
  7. 邮件消息在这里插入图片描述
  8. 都填写好后,运行,信息会发送到对应的收件人QQ邮箱里。

利用作业循环打印不同角色下数据库表数据

三个用户 u1 u2 u3 密码 分别也是 u1 u2 u3
这三个用户下 都有一张emp表 分别是 三个部门的用户信息
查询用户下emp表中各有多少条数据 输出列三列 用户名 uname 表名 tname 条数 tcount

  1. 首先先创建不同角色的对应的数据库数据
create user u1 identified by s1;
create user u2 identified by s2;
create user u3 identified by s3;grant dba to u1;
grant dba to u2;
grant dba to u3;create table u1.emp as  select * from hu.emp where deptno=10; 
create table u2.emp as  select * from hu.emp where deptno=20; 
create table u3.emp as  select * from hu.emp where deptno=30;select * from u1.emp;
select * from u2.emp;
select * from u3.emp;create table tt(username varchar2(20),tablename varchar2(20),tcount   number);
select * from tt;

如果无法create用户,权限不够的话就进行授权。cmd进入命令框,执行下面三句命令。

sqlplus /nolog
SQL>conn /as sysdba;
SQL>grant all privileges to hu;
  1. 准备一张excel表包含用户名和密码在这里插入图片描述
  2. 一共有五个步骤,下面详细解释。在这里插入图片描述
  • 1_获取记录,新建一个转换,excel表输入然后复制记录到结果,保存转换文件在这里插入图片描述- 2_设置变量,新建一个转换,拖拽从结果获取记录设置变量在这里插入图片描述
    在这里插入图片描述

  • 3_查询结果输出,新建一个数据库连接,变量命名用户名和密码。注意查询语句为select '${u}' username,'emp' tablename,count(1) tcount from emp在这里插入图片描述
    在这里插入图片描述

  • 4_循环获取数据,先创建一个作业,这个作业流程,包括进行设置变量转换,查询结果输出转换,方便后续循环。
    在这里插入图片描述
    在这里插入图片描述

  • 5_执行整个流程,读取记录->循环获取数据输出结果在这里插入图片描述在这里插入图片描述

  • 整个流程写完后,执行作业5_执行整个流程,成功后,可以在数据库查看结果在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/21141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能003】图像识别算法模型实战及经验总结(最近更新中)

1.熟悉、梳理、总结数据分析实战中的AI图像识别等实战研发知识体系,这块领域很大,需要耗费很多精力,逐步总结、更新到位,,, 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来&am…

【JAVA WEB实用与优化技巧】Maven自动化构建与Maven 打包技巧

文章目录 一、MavenMaven生命周期介绍maven生命周期命令解析 二、如何编写maven打包脚本maven 配置详解setting.xml主要配置元素setting.xml 详细配置 使用maven 打包springboot项目maven 引入使用package命令来打包idea打包 三、使用shell脚本自动发布四、使用maven不同环境配…

【协议开发系列】梳理关于TCP和UDP两种协议的区别和使用场景

起源 前二天项目上在核对外部对接服务的五元组列表的时候,有一位客户提问对于同样的服务同时支持tcp和udp二种方式,有什么优点和缺点,应该如何选择?这个问题突然让我愣了一下,确实好久没有“温故”了,相关…

商业新闻|当我们在讨论卖车时我们在讨论什么?

‍‍今天是2024年第22周 这是Yura「输出倒逼输入」计划的第10篇文章 全年进度:10/52 01 投资人为什么不断入局烧钱又亏损的新能源? 造车的烧钱速度超乎想象。除了最近的小米,这些年国内大大小小的玩家好像都在以不同的形式或直接或间接的参与…

【leetcode】-【javascript】

文章目录 检查是否是类的对象实例数组原型对象的最后一个元素计数器 检查是否是类的对象实例 请你编写一个函数,检查给定的值是否是给定类或超类的实例。 可以传递给函数的数据类型没有限制。例如,值或类可能是 undefined 。 示例 1: 输入&a…

【视频创作思维流程】教你从0培养视频创作思维

【视频创作思维流程】教你从0培养视频创作思维 1.创作认知2.培养自己的想象力2.1通过音乐辅助闭上眼睛想象2.2多看多见多模仿 3 视频脚本3.1简单的脚本3.2复杂脚本 4.拍摄预见能力4.1拍摄预见力思维用于转场4.2拍摄预见力思维给特效制作留住空间4.2拍摄预见力思维给字幕制作留住…

Web前端三大主流框架详解

Web前端三大主流框架详解 Web前端开发领域有许多框架和库可供选择,但其中最受欢迎的三大主流框架是 React、Vue.js 和 Angular。每个框架都有其独特的特点和优势,适用于不同类型的项目需求。以下是对这三大框架的详细介绍。 1. React 概述 React 是由…

src挖掘-记一次付费资源的sign绕过

0x01 前言 最近都没怎么挖到过细小的漏洞,一直纠结于一些比较难以实现的点,天天在各种测试、上线服务器里面fuzz找遗漏的点(bushi) 大概上周突破了一处付费资源免费调用,定级了,故发出来水水文 0x02 绕过过程 逛着逛着主站&…

五种最新算法求解柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP),提供MATLAB代码

一、WSA求解FJSP FJSP:波搜索算法(Wave Search Algorithm, WSA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码-CSDN博客 二、SBOA求解FJSP FJSP:蛇鹫优化算法(Secretary bird optimization algorithm&a…

模糊小波神经网络(MATLAB 2018)

模糊系统是一种基于知识或规则的控制系统,从属于智能控制,通过简化系统的复杂性,利用控制法来描述系统变量之间的关系,采用语言式的模糊变量来描述系统,不必对被控对象建立完整的数学模型。相比较传统控制策略&#xf…

WIN系统 -> 以太网未识别的网络问题

1.方法1 2. 3. 根据诊断提示解决问题。 方法2. 右键以太网属性

GiantPandaCV | 浅谈分辨率对模型影响以及训练方法

本文来源公众号“GiantPandaCV”,仅用于学术分享,侵权删,干货满满。 原文链接:浅谈分辨率对模型影响以及训练方法 一、前言 最近几个人在讨论模型训练的时候,提到了一个尺度对于模型的影响以及训练方法的收益&#…

原来有这么多sora!

原来SORA有这么多! 作为AI模型:Sora是OpenAI在2024年推出的一个重要产品,它是继ChatGPT之后的另一力作。Sora是一个创新的文本到视频模型,意味着它能将用户提供的文本描述直接转换成视频内容。这个模型的特点是可以根据描述性提示…

Autosar Dem配置-手动配置DTC及使用-基于ETAS软件

文章目录 前言DemConfigSetDemDebounceCounterBasedClassDemDebounceBehaviorDemDebounceCounterDecrementStepSizeDemDebounceCounterFailedThresholdDemDebounceCounterIncrementStepSizeDemDebounceCounterJumpDownDemDebounceCounterJumpDownValueDemDebounceCounterJumpUp…

Python 初学者练习:验证哥德巴赫猜想

哥德巴赫猜想(Goldbach’s Conjecture,也被称为哥德巴赫-欧拉猜想或“每个大于2的偶数都可以写成两个素数之和”)是一个未解决的数学问题,尽管对于所有已经检验过的偶数都已经被验证成立,但我们仍然没有一个普适的证明…

操作系统|代表进程运行状态的各寄存器

本文主要资料来源于网络,这里只做一个简单的了解用,如果用错误还请读者指出指出。 在CPU架构中,尤其是x86架构,代表进程运行状态的通用寄存器包括了几个关键的寄存器,这些寄存器存储了与进程执行直接相关的各种信息。以…

一天挣几十元的网上兼职副业有哪些?推荐几个适合普通人做的兼职副业,有线上的也有线下的,建议收藏哦~

一天几十的兼职,不是几百的,这个会更容易实现。 相比网络上充斥着各种五花八门的兼职,教你轻松月入过万,一年几十万的...... 对于绝大多数没有一技之长的普通人,网络小白的话刚开始会很难的,慢慢来就可以…

AI+翻译 AI智能体平台扣子coze开发搭建

抖音出品的AI智能体平台,可以快速搭建自己的AI Agent工作流,并且提供了API供开发者调用 机器人Bot 工作流 官方插件 AI Agent AI 翻译 实现目的是 英译中 或 中译英,并生成对应的音频文件 开发智能体 创建speak工作流 > 输入 > 翻译…

Jenkins流水线pipeline--基于上一章的工作流程

1流水线部署 1.流水线文本名Jenkinsfile,将流水线放入gitlab远程仓库代码里面 2pipeline脚本 Jenkinsfile文件内容 pipeline {agent anyenvironment {key"value"}stages {stage("拉取git仓库代码") {steps {deleteDir()checkout scmGit(branches: [[nam…

自然语言处理(NLP)—— 置信度(Confidence)

1. 置信度(Confidence)的概念 置信度(Confidence)在机器学习和统计中通常指一个模型对其做出的预测是正确的确信程度。在分类任务中,置信度通常由模型赋予特定类别的概率值来表示。例如,在文本分类或实体识…