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

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.mzph.cn/diannao/56308.shtml

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

相关文章

Java项目:157 基于springboot技术的美食烹饪互动平台的设计与实现(含论文+说明文档)

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本知识管理系统有管理员和用户两个角色 管理员权限操作的功能包括管理美食,对美食留言进行回复,管理美食知识信息&…

为什么在 Vue 中处理 Excel 文件

1. 引言:为什么在 Vue 中处理 Excel 文件 在现代 web 应用中,数据展示和处理是常见的需求,尤其在业务系统中,Excel 文件作为一种常用的数据存储和传输格式,经常需要被处理和展示。在 Vue 应用中,使用第三方…

深入解析 Go 语言接口:多接口实现与接口组合的实际应用

文章目录 一、引言二、一个类型实现多个接口1. 定义多个接口2. 类型实现多个接口3. 使用多个接口 三、接口的组合1. 接口嵌套2. 实现复合接口 四、实际开发中的应用场景1. 多态与模块化设计2. 松耦合系统设计3. 测试与依赖注入4. 事件驱动架构中的应用 五、小结 一、引言 在 G…

C++ 算法学习——1.3 双向广度优先搜索

双向广度优先搜索算法步骤: 初始化: 从起始节点开始,分别初始化两个队列 q_forward 和 q_backward。将起始节点分别放入这两个队列中。初始化两个集合 visited_forward 和 visited_backward 用于记录已访问的节点。 循环: 在循环中…

安装和配置k8s可视化UI界面dashboard-1.20.6

安装和配置k8s可视化UI界面dashboard-1.20.6 1.环境规划2.初始化服务器1)配置主机名2)设置IP为静态IP3)关闭selinux4)配置主机hosts文件5)配置服务器之间免密登录6)关闭交换分区swap,提升性能7&…

2024入门测参考答案(c语言版)

先自己看代码思考,不理解的地方可以截图私聊…… 7-1 祝福祖国! 这是一个编程题模板。 2024年即将到来,作为一名大学生,为了表达在新的一年里,对祖国的祝福,请编写程序输出祝福语:在新的一年…

配置WSGI 服务器(Gunicorn)和Nginx 反向代理服务器部署Flask项目

部署 Flask 项目涉及到多个步骤,包括环境设置、依赖管理、配置、Web 服务器配置、数据库管理等。下面是一个详细的部署指南,假设你使用的是 Linux 系统(如 Ubuntu)。 前三个步骤教你如何在python虚拟环境下搭建项目并给出项目结构…

QT QML 练习8-Simple Transformations

简单的转换(Simple Transformations) 转换操作改变了一个对象的几何状态。QML元素对象通常能够被平移,旋转,缩放。下面我们将讲解这些简单的操作和一些更高级的用法。 我们先从一个简单的转换开始。用下面的场景作为我们学习的开始…

Qt- QSS风格选择器常用属性选择器样式表盒子

1. 风格设置 Qt 提供了 3 种整体风格,使用 QStyleFactory::keys() 来获取 (windowsvista 、Windows 、Fusion) 可以在 main.cpp 中调用 setStyle 方法对应用程序进行全局风格的设置 int main(int argc, char *argv[]) {QApplication a(arg…

Redis协议详解及其异步应用

目录 一、Redis Pipeline(管道)概述优点使用场景工作原理Pipeline 的基本操作步骤C 示例(使用 [hiredis](https://github.com/redis/hiredis) 库) 二、Redis 事务概述事务的前提事务特征(ACID 分析)WATCH 命…

用Python实现图片转ASCII艺术:图像处理与字符艺术的完美结合

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 ASCII艺术是一种通过字符来表现图像的艺术形式,最早用于早期计算机显示器,它仅支持字符显示。如今,尽管图像分辨率和显示技术得到了极大的提升,ASCII艺术作为一种复古而别具一格的图像表现形式,仍然受到许多…

驱动开发系列21 - 编译内核模块的Makefile解释

一:内核模块Makefile #这一行定义了要编译的内核模块目标文件。obj-m表示目标模块对象文件(.o文件), #并指定了两个模块源文件:helloworld-params.c 和 helloworld.c。最终会生成这 #这两个.c文件的.o对象文件。 obj-m := helloworld-params.o helloworld.o#这行定义了内核…

爱快路由器配置腾讯云动态域名DDNS详细说明

直白点说就是让爱快路由器自动配置当前公网IP地址给域名,动态域名DDNS不清楚的请自行百度, 这里就可以看见操作日志,那么我们一步一步来配置它吧,首先登录爱快路由器,如下图: 那么腾讯云我们怎么找到ID和…

koa知否论坛交流系统的设计与实现---附源码53933

目 录 1 绪论 1.1研究背景 1.2研究意义 1.3论文结构与章节安排 2 知否论坛交流系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4本章小…

Spring Boot环境下的大创项目质量保证系统

3系统分析 3.1可行性分析 通过对本大创管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大创管理系统采用SSM框架,JAVA作为开发语言&#…

鸿蒙OS启动流程

启动流程(基于openharmony4.1) 系统上电加载内核后,按照以下流程完成系统各个服务和应用的启动: 内核加载init进程,一般在bootloader启动内核时通过设置内核的cmdline来指定init的位置。init进程启动后,会挂载tmpfs,…

宝塔PHP8.1安装fileinfo拓展失败解决办法

在宝塔面板中安装PHP8.1后,安装fileinfo扩展一直安装不上,查看日志有报错,于是手动来安装也报错。 宝塔报错: 手动命令行编译安装同,也有报错 cd /www/server/php/81/src/ext/fileinfo/ make distclean ./configure …

MongoDB初学者入门教学:与MySQL的对比理解

🏝️ 博主介绍 大家好,我是一个搬砖的农民工,很高兴认识大家 😊 ~ 👨‍🎓 个人介绍:本人是一名后端Java开发工程师,坐标北京 ~ 🎉 感谢关注 📖 一起学习 &…

Oracle 数据库中游标的入门到精通

一、游标入门知识 (一)游标是什么 在 Oracle 数据库中,游标是一种处理结果集的机制。当执行一个查询语句后,结果集可能包含多行数据。游标就像是一个指向这些数据行的指针,允许我们逐行对数据进行操作和处理&#xf…

020 elasticsearch7.10.2 elasticsearch-head kibana安装

文章目录 全文检索流程ElasticSearch介绍ElasticSearch应用场景elasticsearch安装允许远程访问设置vm.max_map_count 的值 elasticsearch-head允许跨域 kibana 商品数量超千万,数据库无法使用索引 如何使用全文检索: 使用lucene,在java中唯一…