kettle执行sql脚本_基于kettle工具实现数据表行列转换,值得收藏

博客探讨了Kettle工具实现行列转换的功能。先回顾用SQL实现行列转换,接着详细介绍Kettle实现行转列和列转行的过程,包括数据库脚本、各步骤配置等,最后成功实现功能,并表示后续会分享更多devops和DBA方面内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

前面介绍了用sql去实现行列转换,而Kettle在控件中拥有行列转换功能,是不是也可以做行列转换呢?


一、行转列

1.数据库脚本

create database test;use test;create table t_score(studentno int not null, #学号name varchar(20) not null, #名字subject varchar(10) not null, #科目grade int default 0 #分数);INSERT INTO `t_score`(studentno,name,subject,grade) VALUES (1001,'王海', '语文', 86), (1001,'王海', '数学', 83), (1001,'王海', '英语', 93), (1002,'陶俊', '语文', 88), (1002,'陶俊', '数学', 84), (1002,'陶俊', '英语', 94), (1003,'刘可', '语文', 80), (1003,'刘可', '数学', 86), (1003,'刘可', '英语', 88), (1004,'李春', '语文', 89), (1004,'李春', '数学', 80), (1004,'李春', '英语', 87);
7439aacab60172d7643c91d2b71d2e10.png

2.总体行转列示意图

f56751fd234d6fdf3b942e52e3814928.png

2.1表输入配置

87ae6c25bd67cecf94d8bc1ea8320f2b.png

2.2列转行配置

58ad7e57a1a7b1cf06edc94ce7d62569.png

2.3字段选择配置

396c243bf5371d90cd4178ea81be252e.png

2.4文本文件输出配置

7e5e9f8aec66d58a4c5ec6226ae94aad.png

输出到文件后查看内容

f438860b300171a83f4b4608d38b3499.png
2a84de0b18d7fffda1cef30fafde295b.png
00ea222681cc8520b658026976965ea5.png

二、列转行

1.数据库脚本

CREATE TABLE t_score2(studentno INT,name varchar(20),chinese INT,math INT,english int);INSERT INTO t_score2 VALUES(1001,'王海',70,74,76);INSERT INTO t_score2 VALUES(1002,'陶俊',80,82,84);INSERT INTO t_score2 VALUES(1003,'刘可',90,93,94);INSERT INTO t_score2 VALUES(1004,'李春',88,77,94);
cf061767ef3b5c6fd2084b808aa5ba4b.png

2.整体示意图

5e8457ec89f645d22aa1fac4e55e9eb4.png

2.1表输入

9dee6cfacb916cc928736619dc79b0a8.png

2.2行转列

84c46fce375d107f681d51b1d1c73bb4.png

2.3字段选择

6a18d74b98061f1e2bb6bb9effb3bedb.png

2.4Excel输出

2819facd613d2f24767a05aa50b84633.png

3.执行后查看输出文件

1c2339a60c3cdefb12f4f8f2d7936793.png
838e6dfc4c6a2b11f22f42b841069874.png

到这里我们就用kettle工具实现了行转列和列转行的功能,大家有空也可以测试一下。觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

ffa0b2a0ff338ec190bfb928ec725b98.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值