当前位置: 首页 > news >正文

Python的pymysql模块与MySQL数据库的互动:基础与实例

Python的pymysql模块与MySQL数据库的互动:基础与实例

  • 一、连接数据库
  • 二、创建游标
  • 三、执行SQL命令
  • 四、关闭连接


在Python的世界里,操作MySQL数据库最常用的库就是pymysql
pymysql是一个灵活且易于使用的库,它允许我们以Python的方式操作MySQL数据库。本文将详细介绍如何使用pymysql模块与MySQL数据库进行互动,并通过具体案例来加深理解。
请添加图片描述
首先,确保已经正确安装了pymysql库。可以使用pip来安装:

pip install pymysql

安装完成后,接下来我们将详细介绍如何使用pymysql与MySQL数据库进行互动。


一、连接数据库

使用pymysql连接到MySQL数据库的第一步是创建一个连接对象。连接对象需要接收以下参数:

  • 主机 - host
  • 端口 - port
  • 用户名 - user
  • 密码 - password
  • 默认数据库名称 - database
  • 字符集 - charset

下面是一个创建连接对象的示例:

import pymysql# 创建连接对象
conn = pymysql.connect(host='111.234.567.89', port=3306, user='root', password='password', database='test_db', charset='utf8')

字符集charset一般不需要指定

二、创建游标

在连接到数据库后,我们需要创建一个游标对象。
游标对象用于执行SQL命令并处理结果。创建游标的常用方法是使用connection对象的cursor()方法。
下面是一个创建游标的示例:

import pymysql# 创建连接对象
conn = pymysql.connect(host='111.234.567.89', port=3306, user='root', password='password', database='test_db', charset='utf8')# 创建游标对象
cursor = conn.cursor()

三、执行SQL命令

现在我们已经连接到数据库并创建了游标对象,接下来就可以执行SQL命令了。pymysql提供了多种执行SQL命令的方法,包括execute()方法、executemany()方法和callproc()方法。
下面是一个使用execute()方法执行SQL命令的示例:

import pymysql# 创建连接对象
conn = pymysql.connect(host='111.234.567.89', port=3306, user='root', password='password', database='test_db', charset='utf8')# 创建游标对象
cursor = conn.cursor()# 执行插入操作
sql = "INSERT INTO users (name, email) VALUES (%s, %s)"
cursor.execute(sql, ("John Doe", "john.doe@example.com"))# 提交更改
conn.commit()

1. callproc方法实际很少使用,因为可以使用sql中的call proc()代替
2. 在更新大量数据的情况下,executemany方法比execute方法具有无可替代的优势

四、关闭连接

完成所有操作后,记得关闭连接以释放资源。
可以使用connection对象的close()方法来关闭连接。下面是一个关闭连接的示例:

import pymysql# 创建连接对象
conn = pymysql.connect(host='111.234.567.89', port=3306, user='root', password='password', database='test_db', charset='utf8')# 创建游标对象
cursor = conn.cursor()# 执行SQL命令...
# ...省略其他代码...# 关闭连接
conn.close()

以上就是使用pymysql模块与MySQL数据库进行互动的基础知识和一个简单示例。在实际应用中,可能还需要处理更复杂的SQL命令和数据操作。

不过,通过理解这些基本概念,你将能够更好地运用pymysql库来操作MySQL数据库。
请添加图片描述

http://www.lryc.cn/news/150867.html

相关文章:

  • 滑动窗口实例1(长度最小的子数组)
  • EI、Scopus双检索| 2023年第四届自动化、机械与设计工程国际会议
  • 【混合时变参数系统参数估计算法】使用范数总和正则化和期望最大化的混合时变参数系统参数估计算法(Matlab代码实现)
  • vue的公共方法封装以及class高阶封装
  • OpenGL-入门-BMP像素图glReadPixels(1)实现读取屏幕中间的颜色和获取屏幕上鼠标点击位置的颜色
  • 斥资4亿,收购这家WLAN厂商,结果……
  • 【简单】2511. 最多可以摧毁的敌人城堡数目
  • Linux用一键安装包部署禅道(18.5版本)
  • 【2】openGL shader着色器分析三角形填色
  • mysql数据表Table is marked as crashed and should be repaired 的解决办法
  • 【Unity基础】1.项目搭建与视图编辑
  • C语言每日一练---Day(14)
  • 基于孔雀算法优化的BP神经网络(预测应用) - 附代码
  • 【小沐学Unity3d】3ds Max 骨骼动画制作(蒙皮修改器skin)
  • 【Latex】使用技能站:(三)使用 Vscode 配置 LaTeX
  • 诗诺克科技引领数字资产智能交易革命
  • 混合编程python与C++
  • 【单片机】单片机入门指南
  • 【PyQt】下载文件时弹出提示用户选择保存文件位置的对话框
  • 工具分享 | PDF文档解析工具PyMuPDF
  • QML Book 学习基础5(An Image Viewer)
  • 解决Jackson解析JSON时出现的Illegal Character错误
  • feign和openfeign的区别
  • Python飞机大战小游戏
  • 【python爬虫】7.爬到的数据存到哪里?
  • Docker 的快速使用
  • Docker consul容器服务自动发现和更新
  • MPI内置类型与自定义类型
  • 【ES新特性三】Object 原型、原型链相关方法
  • 学习大数据应该掌握哪些基础语言