暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一个纯 Python 编写的 MySQL 客户端库:PyMySQL

Linux技术宅 2024-09-29
59

点击👆Linux技术宅,关注我!!!




PyMySQL
 是一个纯 Python 编写的 MySQL 客户端库,它实现了 Python 数据库 API 规范 v2.0(也称为 PEP 249),允许 Python 开发者与 MySQL 数据库进行交互。它提供了连接 MySQL 数据库、执行 SQL 语句、处理结果等能力,使得 Python 应用程序能够轻松地读取、写入和管理 MySQL 数据库中的数据。

Githubhttps://github.com/PyMySQL/PyMySQLDocshttps://pymysql.readthedocs.io/en/latest/

特点

纯 Python 实现:不需要安装额外的 C 库或扩展,使得安装和使用都非常简单。符合 DB-API 2.0:这意味着 PyMySQL
 的 API 与 Python 标准数据库 API 兼容,易于学习和使用。
高性能:虽然是用 Python 编写的,但 PyMySQL
 提供了高效的数据库交互能力,特别是在处理大量数据时。
广泛支持:支持 MySQL 的多种特性,包括事务、存储过程、游标等。异步支持(通过 aiomysql
):虽然 PyMySQL
 本身不是异步的,但有一个名为 aiomysql
 的库,它基于 PyMySQL
 提供了异步的数据库访问能力。

安装

你可以通过 pip 轻松安装 PyMySQL

    pip install PyMySQL

    使用示例

    以下是一个简单的 PyMySQL
     使用示例,展示了如何连接到 MySQL 数据库、执行查询并打印结果:

      import pymysql


      # 连接数据库
      connection = pymysql.connect(host='localhost',
      user='user',
      password='passwd',
      database='dbname',
      charset='utf8mb4',
      cursorclass=pymysql.cursors.DictCursor)


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


      # 提交事务
      connection.commit()


      with connection.cursor() as cursor:
      # 读取单条记录
      sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
      cursor.execute(sql, ('webmaster@python.org',))
      result = cursor.fetchone()
      print(result)
      finally:
      connection.close()

      注意事项

      在使用 PyMySQL
       时,请确保已经安装了 MySQL 数据库,并且你的 Python 环境已经配置了相应的连接信息(如主机名、用户名、密码等)。
      在处理大量数据时,考虑使用批量插入(executemany()
       方法)来提高效率。
      对于生产环境,建议使用连接池来管理数据库连接,以提高性能和可靠性。你可以使用第三方库如 SQLAlchemy
      (通过其 create_engine()
       方法时指定 pymysql
       作为方言)来实现这一点。



      期待你的

      分享

      点赞

      在看

      文章转载自Linux技术宅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论