(二)python实战——使用pymysql完成mysql数据库的增、删、查、改操作案例

news/2024/9/12 16:59:43/

前言

本节内容是关于python环境中使用pymysql实现mysql数据库的操作,这里我们以app这个表为本节内容的操作表,完成python环境下,对mysql数据库的表的增删查改操作。在开始本节内容之前,我们首先要安装好我们的python环境以及数据库环境。

正文

①在数据库中创建app表,其结构如下,包含id和name字段

CREATE TABLE `app` (`id` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键ID',`name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '名称',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

 ②使用以下命令安装pymysql环境依赖,操作mysql数据库

pip install PyMySQL

 ③创建一个my_mysql_pymysql.py类,初始化mysql数据库的连接,以及创建关闭连接mysql的方法

# 使用pymysql操作数据库
import pymysqlclass MyPymysql(object):"""初始化数据库连接"""def __init__(self):self.conn_pymysql = pymysql.connect(host='192.168.110.88',port=3306,user='root',password='root',database='ht-atp',charset='utf8')self.cursor = self.conn_pymysql.cursor()"""关闭数据库连接"""def close(self):self.cursor.close()self.conn_pymysql.close()

 ④使用mysql连接对象,查询app表中的全部数据

if __name__ == '__main__':#创建mysql连接对象conn = MyPymysql()pymysql = conn.conn_pymysqlcursor = conn.cursor# 查询app表全部数据sql = 'select * from app'cursor.execute(sql)rows = cursor.fetchall()for row in rows:print(row)print('-----------------查询结束------------------')# 关闭数据库连接conn.close()

 ⑤使用mysql连接对象,新增多条数据到app表

if __name__ == '__main__':conn = MyPymysql()pymysql = conn.conn_pymysqlcursor = conn.cursor# 保存app表数据sql = 'INSERT INTO app(id,name) VALUES(%s, %s)'datas = [('7', 'jack'), ('8', 'zhangsan'), ('9', 'wangwu')]result = cursor.executemany(sql, datas)print("result:", result)pymysql.commit()print('-----------------保存数据结束------------------')# 关闭数据库连接conn.close()

 ⑥使用mysql连接对象,更新app表数据id为7的数据

if __name__ == '__main__':conn = MyPymysql()pymysql = conn.conn_pymysqlcursor = conn.cursor# 更新app表数据sql = "UPDATE app SET name='%s' WHERE id='%s'"sql = sql % ("xiaoming", "7")print("sql:", sql)result = cursor.execute(sql)print("result:", result)pymysql.commit()print('-----------------更新数据结束------------------')# 关闭数据库连接conn.close()

 ⑦使用mysql连接对象,删除app表数据id为7的数据

if __name__ == '__main__':conn = MyPymysql()pymysql = conn.conn_pymysqlcursor = conn.cursor# 删除app表数据sql = "DELETE FROM app WHERE id='%s'"sql = sql % "4"print("sql:", sql)result = cursor.execute(sql)print("result:", result)pymysql.commit()print('-----------------删除数据结束------------------')# 关闭数据库连接conn.close()

⑧使用mysql连接对象,根据id批量删除app表中数据

if __name__ == '__main__':conn = MyPymysql()pymysql = conn.conn_pymysqlcursor = conn.cursor# 批量删除app表数据sql = "DELETE FROM app WHERE id in {}"data = ('7', '8', '9')sql = sql.format(data)print("sql:", sql)result = cursor.execute(sql)print("result:", result)pymysql.commit()print('-----------------批量删除数据结束------------------')# 关闭数据库连接conn.close()

结语

至此,关于使用pymysql完成mysql数据库的增、删、查、改等操作案例到这里就结束了,我们下期见。。。。。。


http://www.ppmy.cn/news/624496.html

相关文章

屏幕录像专家怎么使录制出来的视频比较清晰【已解决】

《屏幕录像专家》是一款专业的屏幕录像制作工具,这款软件界面是中文版本,里面的内容并不怎么复杂,录制视频和简单按设置的快捷键、点击录制键、或者点击三角按钮,就可以录制了。但是在使用过程中,可能会遇到转码不清晰…

屏幕录像专家使用手册

屏幕录像专家作为一个多年的老牌屏幕录像工具,的确有他独有的优势,下面就说说这个强大的工具。 自己当初下载的版本,保存到了百度网盘,这个链接给大家了,里面有注册机,直接注册就好。 链接:http…

屏幕录像专家 - 视频压缩教程

大家在用屏幕录像专家录制视频之后,生成出来的视频文件总是很大,在网络上传输也很不方便,这里介绍一种压缩的方法,可以极大的缩小视频文件的体积,方便传输: 1、在屏幕录像专家的软件左侧的录像文件列表中对…

屏幕录像专家录制超清视频教程-王西猛-专题视频课程

屏幕录像专家录制超清视频教程—621人已学习 课程介绍 通过对“屏幕录像专家录制超清视频教程”课程学习,达到以下目的:1、完美解决转码后不清晰问题 2、熟练掌握录制超清视频方法 课程收益 通过对“屏幕录像专家录制超清视频教程”课程学习&#xf…

java + Selenium 实现自动化测试,模拟人手点击操作 chrome 浏览器

引入 maven 依赖&#xff1a; <dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency><dependency><groupId>com.google.guav…

React lazy+Suspense 实现路由懒加载

文档 React lazy、Suspense 官方文档 进入页面后&#xff0c;组件的内容会通过 http 请求到对应的组件文件&#xff0c;当路由中有较多的页面时&#xff0c;会出现一个问题&#xff0c;那就是一次性将所有的组件都加载了&#xff0c;浪费性能&#xff0c;所以可以通过懒加载的…

QLinearGradient

QLinearGradient类提供了一个线性渐变颜色填充。线性渐变由两个端点定义&#xff0c;颜色在这两个点之间以连续的方式变化。 你可以使用setColorAt()函数来定义渐变中的颜色停止点。这个函数接受一个介于0和1之间的数字作为位置参数&#xff08;其中0表示渐变的起始点&#xf…

uni-app 微信小程序 onReachBottom 不生效

问题描述&#xff1a; uni-app 微信小程序&#xff0c;页面滑到底部&#xff0c;onReachBottom 没有生效 解决&#xff1a; 最外层容器设置 min-height: 101vh 代码&#xff1a; pages.json 配置 {"path": "","style": { "navigationBar…

Android java代码实现:textview Arial等字体格式

// Obtain the Typeface object for Arial Typeface arialTypeface Typeface.create("Arial", Typeface.NORMAL); // Set the Typeface on the TextView TextView textView findViewById(R.id.my_text_view); textView.setTypeface(arialTypeface);

hutool工具类实现excel上传 支持03和07

一直感觉excel表的导入有很多代码&#xff0c;写一次忘一次&#xff0c;类太多&#xff0c;要知道怎么获取Workbook、Sheet、Cell、row等等&#xff0c;这么多类不可能一直记的住&#xff0c;都是写过之后保存&#xff0c;使用的时候拿出来改改&#xff0c;更烦人的是针对offic…

SolidWorks工程图导出PDF时出现“Arial Unicode MS”字体不存在时,解决方案

解决方案 1、搜索&#xff1a;“Arial Unicode MS”字体 2、下载第二个&#xff0c;解压打开文件&#xff0c;点击第一个 点击安装即可完成 最后&#xff0c;再打开SolidWorks即可&#xff0c;输出PDF。

字体Helvetica Arial,导致页面中使用中文时页面布局混乱

当使用这样的字体时的页面布局&#xff0c;页面空出来一块&#xff1a; font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro H…

已解决:Downloading https://ultralytics.com/assets/Arial.ttf to .......ubuntu18.4-YOLOv5报错[01]

yolov5模型用的是github上YOLOv5官方的&#xff1a;GitHub - ultralytics/yolov5: YOLOv5 &#x1f680; in PyTorch > ONNX > CoreML > TFLite 在某些版本下&#xff08;比如6.0&#xff09;&#xff0c;yolov5.0环境下运行detect.py或者输入指令&#xff1a; pyth…

Ubuntu下Python程序font = ImageFont.truetype(‘arial.ttf‘, 24)报错OSError: cannot open resource

可视化目标检测结果时&#xff1a;使用如下命令编辑文字字体时报错&#xff1a;OSError: cannot open resource 问题&#xff1a;Ubuntu 系统下&#xff0c;在图像上显示文字时&#xff0c;如下命令报错&#xff1a; font ImageFont.truetype(arial.ttf, 24)提示错误为&…

YOLOv5-6.0报错Downloading https://ultraytics.com/assets/Arial.ttf to...

yolov5.0环境下运行detect.py时&#xff0c;会出现Arial.ttf自动下载&#xff0c;由于无法下载问题而报错。 解决办法&#xff1a; 在文件yolov5/utils/plots.py中&#xff0c;找到以下代码&#xff1a; class Annotator:if RANK in (-1, 0):check_font() # download TTF i…

EDAS系统上传稿件The font Arial-ItalicMT is not embedbed in the fille.(FAQ 109)解决

错误描述 在EDAS提交用word导出的PDF稿件时报错 notembedded:Upload failed:The font Arial-ItalicMT is not embedbed in the fille.(FAQ 109) 原因分析 导出PDF时Arial-ItalicMT字体未嵌入在内。 问题解决 所需软件 Adobe Acrobat Pro / Adobe PDF&#xff08;以下步骤以…

python label字体_Matplotlib xlabel,Arial格式,带一个斜体字

我想创建一个matplotlib图形,其中x轴标签为Arial字体,并且有一个单词斜体。在 我可以用latex字体创建带有x轴标签的图形,其中一个单词用斜体显示;我也可以用Arial字体创建带有x轴标签的图形,只要我将整个标签斜体化或整个标签为normal;但我无法使xlabel的一部分以Arial斜…

【python报错解决】findfont: Font family [‘Arial‘] not found. Falling back to DejaVu Sans.

matplotlib字体报错解决 字体上传删除缓冲&#xff0c;重启终端 在使用matplotlib进行绘图时&#xff0c;ubuntu系统报错找不到字体&#xff0c;具体报错信息如下&#xff1a; findfont: Font family [‘Arial’] not found. Falling back to DejaVu Sans. 【解决方法】 从wind…