Python中Pymysql库的常见用法和代码示例

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: `pymysql` 是一个用于连接 MySQL 数据库的 Python 库,支持 SQL 查询的执行和结果处理。通过 `pip install pymysql` 安装后,可使用 `connect()` 方法建立连接,`cursor()` 创建游标执行查询,包括数据的增删改查,并通过 `commit()` 和 `rollback()` 管理事务,最后需关闭游标和连接以释放资源。

Pymysql

关注B站可以观看更多实战教学视频:肆十二-的个人空间-肆十二-个人主页-哔哩哔哩视频 (bilibili.com)

pymysql是一个用于连接MySQL数据库的Python库,它允许你执行SQL查询并处理返回的结果。以下是pymysql库的一些常见用法和代码示例:

1. 安装pymysql

首先,你需要安装pymysql库。可以使用pip命令来安装:

bash复制代码

pip install pymysql

2. 连接到MySQL数据库

使用pymysql.connect()函数来建立与MySQL数据库的连接。

import pymysql  

# 创建连接  
connection = pymysql.connect(  
    host='localhost',  # 数据库服务器地址  
    user='your_username',  # 数据库用户名  
    password='your_password',  # 数据库密码  
    database='your_database',  # 数据库名  
    charset='utf8mb4'  # 字符集(兼容更多的文字)  
)

3. 创建游标对象

为了执行SQL查询,你需要创建一个游标对象。

# 创建一个游标对象 cursor  
cursor = connection.cursor()

4. 执行SQL查询

使用游标对象的execute()方法来执行SQL查询。

# 执行SQL查询语句  
sql = "SELECT * FROM your_table"  
try:  
    # 执行SQL语句  
    cursor.execute(sql)  
    # 获取所有记录列表  
    results = cursor.fetchall()  
    for row in results:  
        print(row)  # 打印每一行数据  
except Exception as e:  
    print(f"Error: unable to fetch data: {e}")

5. 插入数据

插入数据时,也要执行SQL语句,并在执行后提交事务以确保数据被保存。

# 插入单条数据  
sql = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"  
values = ("value1", "value2")  
try:  
    cursor.execute(sql, values)  
    # 提交到数据库执行  
    connection.commit()  
    print("Insert successful!")  
except Exception as e:  
    # 如果发生错误则回滚  
    connection.rollback()  
    print(f"Error: unable to insert data: {e}")

6. 更新和删除数据

更新和删除数据的操作类似于插入数据,只是SQL语句不同。

# 更新数据  
update_sql = "UPDATE your_table SET column1 = %s WHERE column2 = %s"  
update_values = ("new_value", "condition_value")  
try:  
    cursor.execute(update_sql, update_values)  
    connection.commit()  
    print("Update successful!")  
except Exception as e:  
    connection.rollback()  
    print(f"Error: unable to update data: {e}")  

# 删除数据  
delete_sql = "DELETE FROM your_table WHERE column1 = %s"  
delete_values = ("value_to_delete",)  
try:  
    cursor.execute(delete_sql, delete_values)  
    connection.commit()  
    print("Delete successful!")  
except Exception as e:  
    connection.rollback()  
    print(f"Error: unable to delete data: {e}")

7. 关闭连接

完成所有数据库操作后,别忘了关闭游标和连接。

# 关闭游标和连接  
cursor.close()  
connection.close()

注意事项:

  • 总是确保在处理数据库操作时使用try-except块来捕获任何潜在的异常。
  • 在执行插入、更新或删除操作后,使用connection.commit()提交事务。
  • 如果在执行过程中出现错误,使用connection.rollback()回滚事务。
  • 始终在程序结束时关闭游标和数据库连接,以释放资源。
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
27天前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
59 20
|
17天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
72 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
12天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
49 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
182 77
|
15天前
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
26 10
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
72 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
49 10
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
64 11
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
97 8
|
5月前
|
人工智能 数据挖掘 数据处理
揭秘Python编程之美:从基础到进阶的代码实践之旅
【9月更文挑战第14天】本文将带领读者深入探索Python编程语言的魅力所在。通过简明扼要的示例,我们将揭示Python如何简化复杂问题,提升编程效率。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编码世界的大门。让我们开始这段充满智慧和乐趣的Python编程之旅吧!