Python使用pymysql更新数据库指定字段详解

认真发呆
认真发呆
发布时间:2026-10-14| 4人浏览过
原创

本文详解如何使用Python的pymysql库更新数据库中的单个字段。通过连接数据库、定义游标及执行UPDATE语句,实现根据ID动态修改指定字段的值。文章包含完整的代码示例,涵盖输入处理、异常捕获及事务提交回滚机制,帮助开发者掌握数据库字段更新的核心操作。

Python数据库连接基础

首先介绍连接数据库的基础操作,文中对每一步骤均添加了详细注释,以便初学者理解。熟悉数据库连接的读者可直接跳过此部分。

需要明确的是,上述步骤仅涉及数据库连接,尚未涉及具体的数据更新操作。


import pymysql  #导包
#连接数据库
db = pymysql.connect(host='localhost', user='用户名', password='数据库密码', port=3306, db='你的数据库名字')
#定义游标
cursor = db.cursor()
#sql语句
sql = 'select * from students;'
cursor.execute(sql)
#关闭游标
cursor.close()
#数据回滚
db.rollback()
#关闭数据库
db.close()

更新数据库指定字段

接下来演示如何更新数据库中特定字段的值。

鉴于前文已对连接部分进行注释,此处直接展示核心代码。为保持示例清晰,未对数据库连接参数进行隐藏处理。


import pymysql
#连接数据库
db = pymysql.connect(host='localhost',user='root', password='123456', db='qu')
#定义游标
cursor = db.cursor()

id=input("请输入要更新的id")
k = input("请输入要更新的字段名:")
v = input("请输入更新后的值:")
try:
 update = "update test set "+k+"='"+v+"' where id="+id
 print(update)
 cursor.execute(update)
 print('数据更新成功')
 db.commit()#提交数据
except:
 print('数据更新失败')
db.rollback()
cursor.close()
db.close()

代码中的k和v分别代表键(字段名)和值。操作流程为:先输入目标记录的ID,再指定需要修改的字段名,最后输入该字段的新值。

数据更新示例与验证

请参考原有的数据表结构。

以id为3的记录为例,其name字段当前值为66,现需将其更新为520。具体代码运行过程如下所示。

执行代码后,请返回数据库界面并刷新数据以查看变化。

如上图所示,原值为66的字段已成功变更为520。

随后,尝试对talk字段进行类似的更新操作。

至此,关于Python更新数据库中指定字段数据的详细教程已结束。如需了解更多Python数据库操作相关内容,建议查阅本站往期文章或继续浏览后续章节,感谢大家的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。