使用kettle完成学生成绩登记需求

(一) 使用kettle完成学生成绩登记需求

学生成绩表下表所示。(自己创建一个学生表)

使用kettle完成学生成绩登记需求_第1张图片

  1. 在MySQL中创建一个名为school的数据库,并在school数据库中创建一个名为score的表,使用Kettle将Excel形式的学生成绩表导入MySQL的score表

1)在windows中启动mysql

win+r--->输入cmd---->在小黑窗输入mysql -u root -p---->输入自己设置的密码

使用kettle完成学生成绩登记需求_第2张图片

 2)创建school数据库和score01表的代码如下

create database school;
use school;
CREATE TABLE score(
	stu_no int,
	name varchar(10),
	score_math int,
	score_english int,
	score_chinese int
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

使用kettle完成学生成绩登记需求_第3张图片

 3)使用kettle将学生成绩表导入到数据库中。

使用excel输入和表输出控件,配置如下:

对excel输入,首先要绑定输入文件,如图1所示,其次在字段页面中获取头部数据的字段,并对识别错误的数据类型进行修改,如图所示。

 使用kettle完成学生成绩登记需求_第4张图片

 使用kettle完成学生成绩登记需求_第5张图片

 对于表输出控件,首先需要配置数据库连接,然后选择目标表,最后获取数据库字段,并做好流内字段对表字段的映射。如图所示

使用kettle完成学生成绩登记需求_第6张图片

配置完成后,就可以点击左上角转换按钮进行转换。

使用kettle完成学生成绩登记需求_第7张图片

最后在数据库中执行查询语句就能看到插入的结果,如下图所示。

使用kettle完成学生成绩登记需求_第8张图片

4)、现在发现有些同学的成绩登记错误,经统计得到一个成绩修订表

使用kettle完成学生成绩登记需求_第9张图片

 为了完成这个任务,我们需要使用到的控件有Excel输入、排序记录、列转行、过滤记录、插入/更新,具体布局如下图所示,其中由列转行控件到过滤记录控件这一节点连接,应选择复制记录。

使用kettle完成学生成绩登记需求_第10张图片

其中EXCEL输入控件配置类似图前面第一问的。之所以需要排序记录控件,是因为列转行控件要求流中的数据必须有序。

排序记录控件配置如图6所示:

使用kettle完成学生成绩登记需求_第11张图片

 使用kettle完成学生成绩登记需求_第12张图片

 过滤记录控件配置如图所示:

使用kettle完成学生成绩登记需求_第13张图片

 插入/更新控件配置如图所示,首先需要建立数据库连接,其次选择目标表,接着选择用来查询的字段并选择比较方式,最后配置需要更新的字段,只将需要更新字段的更新状态选择为Y即可。这里只以数学成绩的更新为例,英语与语文同理。

使用kettle完成学生成绩登记需求_第14张图片

         配置完成后,就可以点击左上角转换按钮进行转换。最后在数据库中执行查询语句就能看到插入的结果,如下图所示。可以看出学生成绩已经按照登记表进行了更新。

使用kettle完成学生成绩登记需求_第15张图片

 5)、数学老师想要一份只有数学成绩的排名表,请你帮他这个忙。

为了完成这个任务,我们需要使用到的控件有Excel输入、字段选择,排序记录、增加序列及Excel输出。具体布局如下图所示。

表输入控件配置如下图所示,第一步要新建数据库连接,其次点击获取SQL查询语句按钮选择score表。

 使用kettle完成学生成绩登记需求_第16张图片

 字段选择控件配置如下图所示,首先要获取选择的字段,导出所有字段,在这里可以进行字段的改名,跟图上面一样。接着点击左上角移除,选择score_english和score_chinese字段,表示放弃这两个字段,如图所示。

使用kettle完成学生成绩登记需求_第17张图片

 使用kettle完成学生成绩登记需求_第18张图片

排序记录控件的配置跟上面类似,选择数学字段按降序进行排序。

增加序列控件的配置如图所示:

使用kettle完成学生成绩登记需求_第19张图片

 Excel输出控件配置如下图所示,首先选择需要保存的文件,接着将扩展名清空,这是目前该控件存在的一点小问题,会导致有两个后缀。最后选择右上角字段页面,将对应Integer类型的格式改为0,避免排名学号等数据出现小数点。

使用kettle完成学生成绩登记需求_第20张图片

 使用kettle完成学生成绩登记需求_第21张图片

 配置完成后,就可以点击左上角转换按钮进行转换。转换后,可以在相应路径找到文件,结果如下图所示:

 使用kettle完成学生成绩登记需求_第22张图片

你可能感兴趣的:(数据库,mysql)