自动化测试-使用python控制MYSQL数据库(pymysql)

article/2025/10/14 14:02:58

当需要对大量的数据进行处理并写入/读取数据库时,直接使用Linux显然会显得力不从心,即使是图形化的Navicat Premium在处理大批量数据时也难以招架,只能通过SQL语句结合导入导出来实现一些事情,本文分享使用python语言中的pymysql包来控制MYSQL数据库。

相关名词简要释义:ORM(对象关系映射,将数据表映射成一个对象[方法、属性],这样可以在不考虑具体数据库种类的情况下直接修改其内容)

安装:
(国外)方法一:

pip install PyMySQL

(国内)方法二:

pip install PyMySQL -i https://pypi.douban.com/simple/

基本流程:

事务概念(Transaction):

事务是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。

事务的特征(ACID):

  • 原子性(Atomicity):事务中包含的操作被看做一个逻辑单元,这个逻辑单元中的操作要么全部成功要么全部失败
  • 一致性(Consistency):事务的结果保留不变,即事务的运行并不改变数据的一致性
  • 隔离性(Isolation):又称孤立性,事务的中间状态对其它事务是不可见的
  • 持久性(Durability):指一个事务一旦提交成功,它对数据库中的数据的改变就应该是永久性的

实现步骤:

import pymysql
# 导入pymysql模块class Test_Mysql:def __init__(self):self.database_Name1 = "ABCDE"# 数据库名称self.conn = pymysql.connect(host="192.168.1.x",# 数据库服务器地址(IP)user="x",# 登录用户名password="x",# 登录密码database=self.database_Name1,# 数据库名称port=3306,# 端口号charset="utf8",# 字符集autocommit=False)# 自动提交事务def For_example_select(self):# 查询cursor = self.conn.cursor()# 建立游标对象cursor.execute('select version()')# 执行查询语句result = cursor.fetchone()# 使用游标获取下一条记录 默认第0条'''result2 = cursor.fetchall()   获取所有记录result3 = cursor.rowcount  获取查询语句结果的记录数cursor.rownumber = 0 设置游标位置,主要用于游标回零'''print('result=', result)# 测试输出MYSQL版本号来验证游标对象是否建立成功cursor.close()# 关闭游标self.conn.close()# 关闭连接def For_example_others(self):# 增删改try:self.cursor = self.conn.cursor()sql = '增/删/改的SQL语句'self.cursor.execute(sql)# 执行游标对象self.conn.commit()# 提交事务print(self.conn.affected_rows(), 'SQL语句执行对数据库产生的影响,即受影响行数')except Exception as err:# 异常捕获print('产生异常:', err)self.conn.rollback()# 执行数据回滚finally:self.cursor.close()self.conn.close()

使用以上方法就可以实现通过python控制mysql数据库了,可以进行批量的增删改查、异常捕获、事务回滚等操作,如有疑问欢迎评论区留言讨论。


关注我,不迷路

******我的本文相关专栏******

软件测试专栏(单击此处进入)


 ******我的其它作品专栏******

PC常见故障汇总专栏(点击进入)

EXCEL综合场景应用详解(点击此处进入)

全国计算机等级考试-二级python基础(点击此处进入)


http://chatgpt.dhexx.cn/article/1y5WoiPV.shtml

相关文章

自动化测试基本流程

下图是自动化测试的基本流程图,以及每个阶段的任务负责人,输出等。 1、制定测试计划 在展开自动化测试之前,最好做个测试计划,明确测试对象、测试目的、测试的项目内容、测试的方法、测试的进度要求,并确保测试所需的…

最完整的自动化测试流程

今天笔者就要归纳总结下一整套测试流程,从无到有,实现零突破,包括如何编写测试用例,定时执行测试用例,查找最新生成的测试报告文件,自动发送最新测试报告邮件,一整套完整的测试流程。以后各位只…

图解《字典学习》

PPT&代码链接 csdn:https://download.csdn.net/download/u012037852/10899017 github:https://github.com/longfeizhou2016/Dictionary-learning

python学习 字典

22-9-15 1.格式:大括号{} eg: 2.创建字典: 6种常用方法: 3.增: 1.formkeys: eg: 2: 用此种方法,若键值存在,则修改其value,若不存在,则新…

[转]字典学习/稀疏编码

本文转自https://zhuanlan.zhihu.com/p/26015351 机器学习——字典学习/稀疏编码学习笔记 Esquirrel 2 个月前 以下资料是小编学习字典学习/稀疏编码时,整理的高质量的网络博客,供大家参考。欢迎留言交流,批评指正理解不足。 最Highlight的地…

【零散知识】字典学习(Dictionary Learning)

前言: { 之前的神经网络实践还卡在硬件上,不过目前已经打算先使用云设备,下次应该就会继续进行多目标识别的调试。这次就先写一点零散知识。 在专利[1]中我遇到了新的观点——字典学习(Dictionary Learning)。 } 正…

Python-字典学习

这次主要学习了字典学习的相关知识以及选择分支结构,根据课程编写了下图一些代码:

Python中的字典学习笔记

字典的格式:{"key":"value"} key表示数据的含义,value表示对应的数据的值字典是一种可变的数据类型,从python3.7开始,字典是有序的。 字典创建的方式 1、通过{},要使用key:value的格式&#xff0c…

『ML笔记』字典学习3(Dictionary Learning,KSVD)

文章目录 一、字典学习数学模型1.1、数学描述1.2、求解问题1.3、字典学习算法实现 字典学习也是一种数据降维的方法,这里我用到SVD的知识,对SVD不太理解的地方,可以看看这篇博客: 奇异值分解SVD 一、字典学习数学模型 字典学习的…

字典学习日记

字典的创建 在定义字典时,每个元素都包含了两部分:键(key)和值(value),并且在“键”和“值”之间使用英文冒号分隔,相邻两个元素使用英文逗号分离,所有的元素都放…

Dictionary Learning(字典学习、稀疏表示以及其他)

第一部分 字典学习以及稀疏表示的概要 字典学习(Dictionary Learning)和稀疏表示(Sparse Representation)在学术界的正式称谓应该是 稀疏字典学习(Sparse Dictionary Learning)。该算法理论包含两个阶段&am…

字典的学习笔记

列表 [] 单身什么是字典 {} 二人世界 python内置的数据结构之一,与列表一样是一个可变序列(可以增删改操作的) 以键值对的方式存储数据,字典是一个无序的序列 -> hash(key) 通过哈希函数来计算存储位置,key一定是不可变的字典的创建 使用花…

python学习之字典

目录 一、字典格式 二、操作 1、添加元素 2、修改value值 3、删除 4、遍历和查询 5、合并字典 三、小结 一、字典格式 特点:是以键值对的形式存储 结构:{键1:值,键2:值,键3:值} 字典…

『ML笔记』深入浅出字典学习1(Dictionary Learning)

目录 一、预备知识 二、字典学习以及稀疏表示的概要 2.1、我们为什么需要字典学习? 2.2、我们为什么需要稀疏表示? 三、下一节 参考文献 一、预备知识 稀疏向量:假设向量中的元素绝大部分为零元素,则称该向量是稀疏的。 …

机器学习(十三)k-svd字典学习

k-svd字典学习 原文地址:http://blog.csdn.net/hjimce/article/details/50810129 作者:hjimce 一、字典学习 字典学习也可简单称之为稀疏编码,字典学习偏向于学习字典D。从矩阵分解角度,看字典学习过程:给定样本数据集Y&…

字典学习(KSVD)详解

关于字典学习 对于一个事物,我们如何表征它呢?很明显,这个事物是有特征的,或者说,这个事物它是由许多个不同的特征经过一定的组合而形成的。字典学习的目标是提取实物的最本质特征。用字典来表征该事物的特征。&#…

语音增强———字典学习介绍

语音增强--------------字典学习 字典学习就是用较少的特征(原子)来表示信号,那么信号的多个特征组合就相当于多个原子组成的字典,那么信号就可以用字典中少量的原子进行表示。信号在字典下的表示系数越系数,那么重构…

字典学习(Dictionary Learning)

字典学习——Dictionary Learning 我主要从一下几个方面分享一下。 什么是字典学习字典学习的理论依据及公式字典学习的应用 1、什么是字典学习? 在人类发展的近几千年历史中,文字对人类文明的推动起着举足轻重的作用。人类用文字记述了千年的历史&a…

为什么我们需要机器学习,机器学习主要应用在哪几方面?

一、为什么需要机器学习? 有些任务直接编码较为复杂,我们不能处理所有的细微之处和简单编码,因此,机器学习很有必要。相反,我们向机器学习算法提供大量数据,让算法不断探索数据并构建模型来解决问题。比如…

什么是机器学习,目前机器学习的应用有哪些?

机器学习 机器学习就是让机器具备人一样学习的能力,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是人工智能的核心。 机器学习已经有了十分广泛的应用&a…