软件测试/测试开发丨Python 常用第三方库 pymysql

pymysql 概述

  • Python 的数据库接口标准是 Python DB-API
  • PyMySQL 是从 Python 连接到 MySQL 数据库服务器的接口
  • PyMySQL 的目标是成为 MySQLdb 的替代品
  • 官方文档:pymysql.readthedocs.io/

pymysql 安装

  • 使用 pip 安装
  • 使用 Pycharm 界面安装
pip install pymysql

pymysql 连接数据库

  • host:MySQL 服务器地址
  • user:用户名
  • password:密码
  • database:数据库名称
  • charset:编码方式,推荐使用 utf8mb4
# 1.导入库
import pymysql# 2.建立连接
conn = pymysql.connect(host='服务器地址',user='用户名',password='密码',database='数据库名',charset="utf8mb4")
# 3.关闭连接
conn.close()

pymysql 连接数据库

  • 封装获取连接的函数
import pymysql# 1.封装建立连接的对象
def get_conn():conn = pymysql.connect(host="服务器地址",user="root",password="123456",database="数据库名",charset="utf8mb4")return conn

pymysql 入门实例

  • 获取连接对象

    • 打开

    • 关闭

  • 获取游标对象

    • 执行 SQL

    • 查询记录

from . import get_conndef test_demo():# 1.获取连接对象conn = get_conn()# 2.获取游标对象cursor = conn.cursor()# 3.执行SQLcursor.execute("SELECT VERSION()")# 4.查询结果version = cursor.fetchone()print(f"数据库的版本是:{version}")# 5.关闭连接conn.close()

pymysql 创建表

  • 创建表 testcase
from . import get_conndef test_create():conn = get_conn()  # 获取连接cursor = conn.cursor()  # 获取游标sql = """CREATE TABLE `testcase` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(255) COLLATE utf8_bin NOT NULL,`expect` varchar(255) COLLATE utf8_bin NOT NULL,`owner` varchar(255) COLLATE utf8_bin NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;"""cursor.execute(sql)  # 执行SQLconn.close()  # 关闭连接

pymysql 插入操作

  • 插入记录
from . import get_conndef test_insert():conn = get_conn()  # 获取连接cursor = conn.cursor()  # 获取游标sql = """INSERT INTO testcase(id, title, expect, owner)values (1, 'S11总决赛', '冠军', 'EDG');"""cursor.execute(sql)  # 执行SQLconn.commit()  # 提交

执行事务

  • 提交操作:commit()
  • 回滚操作:rollback()
  • try-catch-finally
from . import get_conndef test_insert():conn = get_conn()  # 获取连接cursor = conn.cursor()  # 获取游标sql = """INSERT INTO testcase(id, title, expect, owner)values (2, 'S11全球总决赛', '冠军', 'EDG');"""try:cursor.execute(sql)  # 执行SQLconn.commit()  # 提交事务except:conn.rollback()  # 回滚事务finally:conn.close()  # 关闭连接

pymysql 查询操作

  • 查询操作
    • fetchone():获取单条记录

    • fetchmany(n):获取 n 条记录

    • fetchall():获取所有结果记录

import sys
from . import get_conndef test_retrieve():conn = get_conn()  # 获取连接cursor = conn.cursor()  # 获取游标sql = "SELECT * FROM testcase;"# 捕获异常try:cursor.execute(sql)  # 执行SQLrecord = cursor.fetchone()  # 查询记录print(record)except Exception as e:print(sys.exc_info())  # 打印错误信息finally:conn.close()  # 关闭连接

pymysql 更新操作

  • 更新数据表的数据
from . import get_conndef test_update():conn = get_conn()cursor = conn.cursor()sql = "UPDATE testcase SET owner='hogwarts' WHERE id=2;"try:cursor.execute(sql)  # 执行SQLconn.commit()  # 提交事务except:conn.rollback()  # 回滚事务finally:conn.close()  # 关闭连接

pymysql 删除操作

  • 删除数据表的数据
from . import get_conndef test_delete():conn = get_conn()  # 获取连接cursor = conn.cursor()  # 获取游标sql = "DELETE FROM testcase WHERE id=3;"try:cursor.execute(sql)  # 执行SQLconn.commit()  # 提交事务except:conn.rollback()  # 回滚事务finally:conn.close()  # 关闭连接

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

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

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

相关文章

Spring高手之路-Spring事务的传播机制(行为、特性)

目录 含义 七种事务传播机制 1.REQUIRED(默认) 2.REQUIRES_NEW 3.SUPPORTS 4.NOT_SUPPORTED 5.MANDATORY 6.NEVER 7.NESTED 含义 Spring事务的传播机制是指在多个事务方法相互调用时,如何处理这些事务的传播行为。对应七种事务传播行为…

【Vue2+3入门到实战】(17)VUE之VueCli脚手架自定认创建项目、ESlint代码规范与修复、 ESlint自动修正插件的使用 详细示例

目录 一、本节内容二、VueCli 自定义创建项目三、ESlint代码规范及手动修复1.JavaScript Standard Style 规范说明2.代码规范错误3.手动修正 四、通过eslint插件来实现自动修正 一、本节内容 VueCli脚手架自定认创建项目ESlint代码规范与修复ESlint自动修正插件 二、VueCli 自…

爱吃饼干的小白鼠2023年终总结

目录 前言 学习生活经历 回顾2023 参加活动 回顾点点滴滴 展望2024 2024年新的起点和目标 前言 大家好,我是爱吃饼干的小白鼠。今天刚好是2024年1月1日,时间飞逝,2023年过的飞快,我已经入驻CSDN有一年了,这一年…

Python实现【亚马逊商品】数据采集

前言 亚马逊公司,是美国最大的一家网络电子商务公司,位于华盛顿州的西雅图 是网络上最早开始经营电子商务的公司之一,亚马逊成立于1994年 今天教大家用Python批量采集亚马逊平台商品数据(完整代码放在文末) 地址&#…

SpireCV项目实战——电诈园区人员及房屋情况识别

项目介绍前言 随着科技的进步和大数据时代的到来,计算机视觉技术逐渐渗透到各个行业领域,为人们的生活和工作带来了诸多便利。近年来,电信诈骗案件频发,给社会带来了巨大的经济损失和心理负担。电诈园区作为电信诈骗的高发区域&a…

X-AnyLabeling 图像标注工具及模型自动标注;json2yolo格式转换、yolo训练数据集划分

一、X-AnyLabeling 图像标注工具及模型自动标注 参考:https://github.com/CVHub520/X-AnyLabeling 1、下载 直接https://github.com/CVHub520/X-AnyLabeling/releases/tag/下载对应版本 软件打开: 2、自定义标注模型yaml构建 这里自定义模型自动标注加载预训练的yolov8…

VUE——IDEA 启动前端工程VS文件启动前端工程

IDEA 启动前端 目录 前言一、打开控制台二、输入npm install三、依赖下载完之后,输入npm run dev,运行前端项目1、IDEA启动前端工程2、文件目录启动前端工程 四、点击http://localhost:8080后续敬请期待 前言 启动已有的vue前端项目 一、打开控制台 选…

git rebase应用场景三

文章目录 git rebase应用场景三 git rebase应用场景三 在我们的开发分支中 假设我们修改一个文件 提交一个版本 再回到master分支 同时也去修改1.txt文件,提交一个版本 这样相当于master分支提交了一次,dev也提交了一次 然后回到dev分支 此时会报错…

【Pytorch】Pytorch或者CUDA版本不符合问题解决与分析

NVIDIA CUDA Toolkit Release Notes Package installation issues INSTALL PYTORCH 先声毒人:最好资料就是上面三份资料,可以通过官网明确的获取一手信息,你所遇到的99%的问题都可以找到,明确的解决方案,建议最好看…

Linux学习第49天:Linux块设备驱动实验(一):Linux三大驱动之一

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本章学习Linux三大驱动之一的块设备驱动,主要应用场景为存储设备。 本章的思维导图如下: 一、什么是块设备 块设备---存储设备 以块为单位…

Rust学习笔记005:结构体 struct

在 Rust 中,struct 是一种用于创建自定义数据类型的关键字,它允许你定义和组织数据的结构。struct 可以包含多个不同类型的字段(fields),每个字段都有一个名称和一个类型。 定义结构体 下面是一个简单的例子&#xff…

ArcGIS Pro中Conda环境的Scripts文件解读

Scripts中包含的文件如下 1. propy.bat 用于在 ArcGIS Pro 外部运行 Python 脚本(扩展名为 .py 的文件)。使用的conda环境是与ArcGIS pro环境同步。propy.bat原理是代替各自python环境下的python.exe,主要区别是propy.bat使用的是与Pro同的…