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

Python 中使用 pymysql 操作 MySQL 数据库的基础指南

Python 中使用 pymysql 操作 MySQL 数据库的基础指南

在数据驱动的应用程序中,与数据库的交互是不可或缺的一部分。Python 提供了多种方式来连接和操作关系型数据库,其中一种流行的选择就是使用 PyMySQL 库来与 MySQL 数据库进行交互。本文将介绍如何安装 PyMySQL 以及它的一些基本用法。

安装 PyMySQL

要开始使用 PyMySQL,首先需要确保已经安装了这个库。可以通过 pip 来安装:

pip install pymysql

如果你正在使用 conda 环境,也可以通过以下命令安装:

conda install -c anaconda pymysql
基本连接

安装完成后,就可以开始编写代码来连接到 MySQL 数据库了。下面是一个简单的例子,展示了如何创建一个数据库连接并执行查询。

import pymysql

# 创建连接
connection = pymysql.connect(
    host='localhost',  # 数据库主机地址
    user='your_username',  # 数据库用户名
    password='your_password',  # 数据库密码
    database='your_database',  # 数据库名称
    charset='utf8mb4',  # 字符编码集
    cursorclass=pymysql.cursors.DictCursor  # 使用字典游标
)

try:
    with connection.cursor() as cursor:
        # 执行SQL语句
        sql = "SELECT `id`, `name` FROM `users`"
        cursor.execute(sql)
        # 获取所有记录列表
        results = cursor.fetchall()
        for row in results:
            print(f"ID: {row['id']}, Name: {row['name']}")

finally:
    # 关闭连接
    connection.close()

这段代码演示了如何打开一个数据库连接、执行一个 SELECT 查询,并处理结果集。注意我们使用了 with 语句来管理游标的生命周期,这可以保证即使发生错误也会正确关闭资源。

插入数据

插入新记录到数据库也是非常直接的过程。这里是如何插入一条新用户记录的例子:

with connection.cursor() as cursor:
    # 创建一个新的用户记录
    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

# 提交更改
connection.commit()
更新和删除数据

更新现有记录或删除记录也只需要改变 SQL 语句:

with connection.cursor() as cursor:
    # 更新用户信息
    sql = "UPDATE `users` SET `password`=%s WHERE `email`=%s"
    cursor.execute(sql, ('new-password', 'webmaster@python.org'))

    # 删除用户
    sql = "DELETE FROM `users` WHERE `email`=%s"
    cursor.execute(sql, ('webmaster@python.org',))

# 提交更改
connection.commit()
异常处理

在处理数据库时,总有可能遇到异常情况,比如网络问题或者违反数据库约束等。因此,总是应该包含适当的异常处理逻辑:

try:
    # 尝试执行一些数据库操作...
except pymysql.MySQLError as e:
    print(f"MySQL error occurred: {e}")
finally:
    if connection.open:
        connection.close()
总结

PyMySQL 是一个功能强大且易于使用的 Python 库,它使得开发者能够轻松地与 MySQL 数据库进行交互。通过掌握上述基础知识,你可以开始构建自己的应用程序,并利用 MySQL 的能力来存储、检索和管理数据。记住,在实际项目中始终要考虑安全性(如防止SQL注入)、性能优化和良好的编码实践。希望这篇文章能为你提供一个良好的起点,让你更自信地使用 PyMySQL 进行开发。


http://www.kler.cn/a/442899.html

相关文章:

  • 每日十题八股-2025年1月12日
  • 2501,wtl显示html
  • strace、ltrace、ftrace 和 dtrace
  • 2_使用 HTML5 Canvas API (1) --[HTML5 API 学习之旅]
  • Java毕设项目:基于Springboot生鲜销售商城网站系统设计与实现开题报告
  • Spring Boot 3.X:Unable to connect to Redis错误记录
  • [LeetCode-Python版]142. 环形链表 II
  • Springboot3.x 进阶-配置和序列化
  • Android绘图Path基于LinearGradient线性渐变,Kotlin(1)
  • 免费开源了一个图床工具 github-spring-boot-starter
  • 汽车发动机电控系统-【传感器】篇
  • 实践环境-docker安装mysql8.0.40步骤
  • elasticsearch 使用enrich processor填充数据
  • 代码随想录算法训练营第五十天 | 图 | 并查集
  • fpga系列 HDL:Quartus II PLL (Phase-Locked Loop) IP核 (Quartus II 18.0)
  • Long类型的数据在网络传输的过程中丢失精度
  • Python-基于Pygame的小游戏(滑雪大冒险)(一)
  • 社交电商新风口:短视频交友+自营商城源码运营
  • filecoin boost GraphQL API 查询
  • AI开发 - 用GPT写一个GPT应用的真实案例
  • 在 Webpack 中Plugin有什么作用?Plugin是什么?
  • 华为认证HCIA——数据传输形式,数据封装的基本概念
  • 企业为什么会需要高防IP?