影刀RPA实战:操作Mysql数据库

news2024/11/25 16:37:20

1.摘要

影刀RPA(Robotic Process Automation)是一种软件自动化工具,它可以模拟人类用户执行各种重复性任务,其中包括对数据库的操作。

我们可以使用软件自动化指令,通过获取数据库窗口对象来操作数据库,也可以使用内置的操作指令来操作,相比较而言,后者更方便,相当于一个简化的数据库管理软件,依旧可以实现增删改查功能。

影刀RPA支持的数据库:

2.实战目标

本次实战的目标,就是用影刀RPA来操作数据库,实现数据增删改查,以及事务操作指令。

需要大家有一定的sql语法基础,会编写数据查询语句,数据插入,更新,删除语句,了解数据库事务

我们在数据中新建demo数据库,新建user表。我们使用这张表演示数据处理。

CREATE TABLE `wk_user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `age` int(10) DEFAULT NULL,
  `job` varchar(60) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

3.实战代码

3.1 数据库链接指令

功能:链接数据库,获取到一个数据库管理对象,用于后续的数据处理操作。

常规设置:

  • 数据库地址: 填入数据库连接地址,如IP形式 127.0.0.1 或域名形式 mysql.yd
  • 账号:该项为Mysql用于登录的用户名
  • 密码:该项为Mysql用于登录的密码
  • 数据库名:填入需要操作的数据库名称
  • 是否开启日志:勾选后开启日志

高级设置:

  • 最大连接数:数据库池的最大连接数
  • 端口:数据连接端口
  • 是否开启事务:勾选后初始化生成一个事务对象,用于数据库事务管理
  • 字符集选择下拉框

影刀代码:

3.2 数据新增

功能:向数据库中插入一条数据,数据的格式是字典

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • 数据字典:将所需要插入的数据记录以键值对的字典类型传入

影刀代码:

演示:

批量插入数据

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • 字段列表:传入所需插入数据的字段名称 如:['col_name1','col_name2']
  • 数据字典:将所需要插入的数据以键值对的字典类型传入 如:[[val1,val2],[val3,val4]]

3.3 查询数据

功能:使用查询语句从数据库中获取数据

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • where条件:无需填入where关键字,为where关键字后语句,如果查询字符串的话,格式需要为name = '测试'
  • 字段列表:传入所需用到的字段列表 [col_name1,colname2], 为空则为全表查询

影刀代码:

运行后,我们使用打印日志,可以查看到sql语句,与获取的数据

3.4 更新数据

通过主键条件,修改数据中的数据内容

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • 数据字典:将所需要更新插入的数据记录以键值对的字典类型传入 如:{'col_name1':val1,'col_name2':val2}

影刀代码:

演示:

通过where条件,修改数据中的数据内容

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • 数据字典:将所需要更新的数据库记录以键值对的字典类型传入 如:{'col_name1':val1,'col_name2':val2}
  • where条件:无需填入where关键字,为where关键字后语句,例如 name = '测试'

影刀指令

演示:

依据主键条件,批量更新插入数据

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • 字段列表:传入所需插入数据记录的字段名称 如:['col_name1','col_name2']
  • 数据字典:将所需要插入的数据以键值对的字典类型传入 如:[[val1,val2],[val3,val4]]

3.5 删除数据

功能:从数据库中删除数据,可以设置删除条件

  • 数据库池对象:传入初始化创建的数据库池对象
  • 事务管理器:传入当前的事务管理器 (开启事务后传入)
  • 表名:传入需要插入数据的表名称
  • where条件:无需填入where关键字,为where关键字后语句

影刀代码:

演示:

3.6 事务操作

数据库事务是数据库管理系统中用于处理数据操作的一个单位,它包含了一系列操作,这些操作要么全部成功,要么全部失败。事务的目的是确保数据库的完整性和一致性,即使在系统故障或并发操作的情况下也能保持数据的正确性

数据库事务通常具有以下四个关键特性,即ACID属性:

  • 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成。如果事务中的某个操作失败,整个事务将回滚到操作前的状态。

  • 一致性(Consistency):事务必须确保数据库从一个一致性状态转换到另一个一致性状态。这意味着事务执行过程中和执行结束后,数据库都必须处于一致性状态。

  • 隔离性(Isolation):并发执行的事务之间不会相互影响。每个事务都像是在一个独立的环境中执行,对其他事务不可见,直到事务完成。

  • 持久性(Durability):一旦事务被提交,它对数据库的修改就是永久性的。即使系统发生故障,事务的结果也不会丢失。

事务的这些特性确保了即使在并发操作和系统故障的情况下,数据库也能保持数据的完整性和一致性。在数据库操作中,事务的使用是非常重要的,它帮助开发者管理复杂的数据操作,确保数据的准确性和可靠性。

数据库事务操作指令包含开启,提交和回滚事务。

如果程序没有保存,我们就提交事务,执行sql语句

如果程序报错,我们就回滚事务,将之前的数据处理恢复成原样。

在操作过程中,我们一般使用try catch指令一起使用,将执行的sql语句包起来,并开启事务,执行的过程中,有错误会走catch代码块,程序直接事务回滚,没有错误就直接提交事务,完成事务操作

3.7 数据库关闭

功能:关闭数据库,释放资源

  • 数据库池对象:数据库的连接对象
  • 强制关闭连接并回滚:有时候连接卡死了,可以选择强制关闭连接并进行事务的回滚

4.应用优势

  • 批量插入数据:影刀RPA支持将大量数据分批次插入到数据库中,支持MySQL、SQL Server和Oracle等数据库类型。用户需要提供数据库地址、用户名、密码、数据库名、SQL语句以及待插入的数据。它还允许设置单次连接插入的数量,以避免因频繁连接和断开数据库而导致的错误。

  • 数据自动化操作:影刀RPA可以自动化执行数据获取、清洗、报表生成等操作。它能够连接到不同的数据库,执行SQL查询,并将结果用于进一步的数据处理和分析。

  • 数据库连接和使用:用户可以通过影刀RPA连接到数据库,执行SQL语句,并返回结果集。支持两种连接方式:数据库连接对象和数据库连接字符串。用户可以保存查询结果至变量,以便后续流程使用。

  •  减少开发需求:通常情况下,有些功能我们都是使用编程语言实现,比如使用java导出excel数据,但是导出的需求太多,功能代码就会增多,影刀RPA就可以解决这个难题,对于常用固定的我们写出功能,临时提出的我们使用影刀RAP从数据库提取数据,写入excel中。方便快捷。

  • 影刀支持缓存数据库redis:操作数据库获取数据,直接写入redis,比我们之前使用代码链接数据库在写入更快,减少了代码编写,部署发布的流程,并且我们可以在影刀上实时查询,检查数据的准确性

5.最后

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

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

相关文章

JSP 的 response 和 session 内置对象

文章目录 前言一、response 内置对象 1.重定向网页2.处理 HTTP 文件头3.设置输出缓存二、session 内置对象 1.创建及获取客户会话2.会话中移动指定的绑定对象3.销毁 session 内置对象4.会话超时的管理5. session 对象的应用总结 前言 JSP 的 response 和 session 内置对像&…

linux tar 打包文件去掉文件所在路径

一、准备目录 /root/tmp/images /root/tmp/images2 执行命令打包目录/root/tmp/images 到 /root/tmp/images.tar.gz 再解压到/root/tmp/images2 cd /root/tmp/images && tar -cvzf images.tar.gz * && mv images.tar.gz /root/tmp/ tar -C /root/tmp/image…

ctf.bugku-baby lfi 2

题目来源:baby lfi 2 - Bugku CTF平台 访问页面 翻译解析:百度翻译-您的超级翻译伙伴(文本、文档翻译) (baidu.com) LFI Warmups- level 2 -本地文件包含(Local File Inclusion,简称LFI) Hello…

力扣面试150 交错字符串 二维DP

Problem: 97. 交错字符串 👨‍🏫 参考题解 class Solution {public boolean isInterleave(String s1, String s2, String s3) {int m s1.length();int n s2.length();if(s3.length() ! m n) return false;boolean[][] dp new boolean[m1][n1];dp[0]…

ZYNQ使用XGPIO驱动外设模块(后半部分)

目录 注意重点: 一、SDK代码开发部分: 显示所需的字符编码: 1.用于显示8x16的字符函数: 2.绘制图片: 3.清楚给定两个坐标之间的显示: 4.显示16*32的阿拉伯数字字符: 5.显示16*32的整型数字&#xff…

Excel:vlookup函数实现查找

1.要查找宋江的英语,把鼠标放在对应单元格然后开始编辑 2.选中所选区域,点击F4锁定区域,不然下拉填充的时候会变VLOOKUP 在查找时有严格要求,查找值必须在所选区域的第一列,因此如果你的查找值不在第一列,可…

TGRS 2024 面向雾天遥感图像的定向目标检测算法

TGRS 2024 | 面向雾天遥感图像的定向目标检测算法 论文信息 摘要 目前,大量工作集中在航空目标检测上,并取得了良好的结果。尽管这些方法在传统数据集上取得了有希望的结果,但在恶劣天气条件下捕获的低质量图像中定位对象仍然具有挑战性。目…

RabbitMQ 入门(四)SpringAMQP五种消息类型

一、WorkQueue(工作消息队列) Work queues,也被称为(Task queues),任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于…

【亲测可行】ubuntu下载安装c++版opencv4.7.0和4.5.0 安装opencv4.5.0报错及解决方法

文章目录 🌕系统配置🌕打开终端,退出anacoda激活环境(如果有的话)🌕安装依赖🌙安装g, cmake, make, wget, unzip,若已安装,此步跳过🌙安装opencv依赖的库🌙安装可选依赖 …

关于md5强比较和弱比较绕过的实验

在ctf比赛题中我们的md5强弱比较的绕过题型很多,大部分都是结合了PHP来进行一个考核。这一篇文章我将讲解一下最基础的绕过知识。 MD5弱比较 比较的步骤 在进行弱比较时,PHP会按照以下步骤执行: 确定数据类型:检查参与比较的两…

要笑死了java

有一天,Java开发者Jack对他的朋友说:“最近我总感觉自己被逼得喘不过气。” 朋友问:“为什么啊?” Jack叹了口气道:“因为我一直在try里,但从来没有catch到过break!” 为什么程序员总是分不清圣…

【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化

【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化 零、前言 最近换了Linux系统,但是写教程做PPT的时候还是得用到绘图软件,上网一查,总结对比之后发现Krita比较好用,故此讲解一下如何安装和汉化Krita。 壹、安装 安装很简…

spring 如何将mutipartFile转存到本地磁盘

两者的区别和联系 MutipartFile是spring的一部分,File则是java的标准类MutipartFile用于接收web传递的文件,File操作本地系统的文件 MutipartFile 转换File的三种方式 使用MutipartFile 自带的transferTo方法使用java自带的FileOutPutStream流使用java自…

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具可以将你的Mac转变为一个通用的镜像接收器,除了无法接收Miracast外,你可以使用内置的AirPlay或Google Cast基于屏幕投影功能来镜像你的设备屏幕;一次一个或同时投影到AirServer。用户可以从任何…

基于stm32的HAL库的串口实现不定长中断(空闲中断)(四)

串口实现不定长中断(空闲中断) 目录 串口实现不定长中断(空闲中断) 1、串口头文件 2、串口初始化配置 3、msp公用的一个函数这里有三个串口,都会调用msp先进行一个判断 4、对接收数组进行清空 5、中断服务函数--…

HDLBits中文版,标准参考答案 | 3.2.5 Finite State Machines | 有限状态机(5)

关注 望森FPGA 查看更多FPGA资讯 这是望森的第 20 期分享 作者 | 望森 来源 | 望森FPGA 目录 1 Q6b: FSM next-state logic | Q6b:FSM 下一状态逻辑 2 Q6c: FSM one-hot next-state logic | Q6c:FSM 独热下一状态逻辑 3 Q6: FSM 4 Q2a: FSM 5 Q2b…

R编程环境的搭建

【图书推荐】《R语言医学数据分析实践》-CSDN博客 R语言对编程环境的要求不高,可以在多种操作系统平台上运行,包括Windows、macOS和Linux。要运行R语言,需要安装R解释器。可以从R语言的官方网站下载和安装最新版本。R语言还需要一个集成开发…

【可答疑】基于51单片机的水位检测系统(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

postman变量,断言,参数化

环境变量 1.创建环境变量 正式环境是错误的,方便验证环境变化 2.在请求中添加变量 3.运行前选择环境变量 全局变量 能够在任何接口访问的变量 console中打印日志 console.log(responseBody);//将数据解析为json格式 var data JSON.parse(responseBody); conso…

HTML(七)表格

在HTML中&#xff0c;表格的标准形式如下&#xff1a; <table></table> 使用上面的语言&#xff0c;就已经生成了一个表格&#xff0c;只不过这个表格什么都没有 那么&#xff0c;该如何让表格存在东西呢&#xff1f; 首先&#xff0c;我们需要使用到<tr> …