Python中pymysql模块详解:安装、连接、执行SQL语句等常见操作

这篇具有很好参考价值的文章主要介绍了Python中pymysql模块详解:安装、连接、执行SQL语句等常见操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

  在Python中,我们经常需要连接和操作数据库。pymysql是一个流行的Python模块,专门用于与MySQL数据库进行交互。本文将介绍pymysql模块的基本使用方法,以及它在实际开发中的一些应用场景。


一、pymysql 模块介绍

  pymysql是一个用于Python编程的第三方模块,用于连接和操作MySQL数据库。它提供了一个简单而强大的接口,使开发者能够轻松地在Python程序中执行各种数据库操作,如查询、插入、更新和删除数据等。

  pymysql模块由Python实现,它遵循Python Database API规范(PEP 249),这使得它与其他数据库API兼容,并使得在不同的数据库之间切换变得更加容易。

  pymysql在Python开发者社区非常受欢迎,因为它易于使用、功能强大并且具有良好的性能。它提供了许多高级特性,如事务管理、连接池、数据类型转换等,使得开发数据库驱动的应用程序变得更加便捷和高效。

  总之,pymysql模块是一个重要的工具,可帮助Python开发者轻松地与MySQL数据库进行交互和操作。


二、使用步骤

1.安装pymysql模块

在使用pymysql模块之前,首先需要将其安装到Python环境中。可以通过在命令行中运行以下命令来安装pymysql模块:

pip install pymysql

如遇【‘pip’ 不是内部或外部命令,也不是可运行的程序或批处理文件。】可查看本人另一篇文章来解决!

【三步解决】‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

2.连接数据库及常用操作

代码如下(示例):

# 导入pymysql模块
import pymysql

# 建立数据库连接
conn = pymysql.connect(
    host='localhost',		# 主机名(或IP地址)
    port=3306,				# 端口号,默认为3306
    user='root',			# 用户名
    password='password',	# 密码
    charset='utf8mb4'  		# 设置字符编码
)

# 获取mysql服务信息(测试连接,会输出MySQL版本号)
print(conn.get_server_info())

# 创建游标对象
cursor = conn.cursor()

# 选择数据库
conn.select_db("mytable")

# 执行查询操作
cursor.execute('SELECT * FROM mytable')

# 获取查询结果,返回元组
result : tuple = cursor.fetchall()

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

  在这个示例中,我们使用pymysql中的connect()函数建立与MySQL数据库的连接,需要提供数据库的主机地址、端口号、用户名、密码。此外我们还可以设置字符编码以确保正确处理数据中的特殊字符。

3.执行SQL语句

  一旦建立了与数据库的连接,我们就可以执行各种SQL操作,例如插入、更新、删除和查询等。以下是一些常见的SQL操作示例:

插入数据

sql = "INSERT INTO mytable (name, age) VALUES ('John', 25)"
cursor.execute(sql)
conn.commit()

更新数据

sql = "UPDATE mytable SET age = 26 WHERE name = 'John'"
cursor.execute(sql)
conn.commit()

删除数据

sql = "DELETE FROM mytable WHERE name = 'John'"
cursor.execute(sql)
conn.commit()

查询数据

sql = "SELECT * FROM mytable"
cursor.execute(sql)
# 只要不涉及数据的更改,可以不需要调用commit()方法提交更改
result = cursor.fetchall()
for row in result:
    print(row)

  使用cursor.execute()方法来执行SQL语句,当更改表中数据时,必须调用conn.commit()方法来提交更改,否则数据库表中的数据不会发生改变。操作完成后,可以使用cursor.fetchall()方法获取查询结果,该方法返回一个元组。

如果觉得 commit() 方法有点麻烦的话,可以在创建连接时设置 autocommit = True,实现自动提交更改,这样就不需要每次执行完SQL操作后,都调用commit()方法啦。示例代码如下:

# 获取mysql连接对象
conn = pymysql.Connect(
    host="localhost",       # 主机名(或IP地址)
    port=3306,              # 端口号,mysql默认3306
    user='root',            # 用户名
    password='password',    # 密码
    autocommit=True         # 自动提交更改
)

4.错误处理

  在操作数据库时,可能会遇到各种错误。Python和pymysql都给我们提供了一些方法来帮助处理错误,例如使用try-except块来捕获异常,以及使用conn.rollback()方法来回滚事务。

try:
    # 执行一些操作
    ...
    conn.commit()
except Exception as e:
    print(f"发生错误:{e}")
    conn.rollback()
finally:
    cursor.close()
    conn.close()

  在这个示例中,try代码块中的操作可能会抛出异常。我们可以在except代码块中捕获异常,并通过打印错误消息来进行错误处理。另外,无论是否发生异常,都应该使用finally代码块来关闭游标和连接。


总结

  本文介绍了Python中pymysql模块的基本使用方法。通过使用pymysql模块,我们可以轻松地连接、操作和管理MySQL数据库。无论是简单的查询还是复杂的事务处理,pymysql都为我们提供了强大而灵活的功能。

  希望本文能够帮助你快速入门并掌握pymysql模块的使用!如果你想深入了解更多关于pymysql的内容,建议参考官方文档或其他相关资源。

pymysql官方文档:https://pymysql.readthedocs.io/
Python官方文档:https://docs.python.org/3/library/index.html文章来源地址https://www.toymoban.com/news/detail-730034.html


到了这里,关于Python中pymysql模块详解:安装、连接、执行SQL语句等常见操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python3,多种方法,同时执行多条SQL语句,并把查询结果分别写入不同Sheet页,妥妥的学到了。

    小屌丝 :鱼哥,我想请教一个问题。 小鱼 :国庆假期你经历了什么,让你变得如此的 “ 善良 ”? 小屌丝 :别这么说,我一直很善良,至少,很正直… 小鱼 :打住,直接点, 你有什么需要帮助的? 小屌丝 :我就是想把查询的结果也入到excel表中 小鱼 :然后呢? 小屌丝 :

    2024年02月08日
    浏览(44)
  • SQL语句的执行顺序

    1 from                找表 2 on                   关联条件帅选 3 join                 关联表操作 4 where             条件筛选 5 group by         进行分组 6 avg,sum…      执行函数 7 having            分组后筛选 8 select           

    2024年02月10日
    浏览(33)
  • 使用Python pymysql连接Mysql数据库-菜鸟教程

    1、安装pymysql模块 pip install pymysql 2、启动Mysql数据库服务 net start mysql80  3、连接数据库 运行结果如下  4、创建数据库表 执行成功后,在本地登录mysql数据库进行查看验证   5、数据库插入操作  执行程序后在本地查看验证  6、数据库查询操作 Python查询Mysql使用 fetchone() 方法

    2024年02月04日
    浏览(34)
  • SQL语句执行顺序相关问题

    注意本文是SQL执行顺序,不是MySQL Server内部执行流程。 MySQL并非像PostgreSQL(被认为是最接近 SQL 标准的数据库之一)一样严格按照SQL标准,MySQL执行引擎会根据查询的具体情况和优化策略来决定具体的执行顺序,所以SQL执行顺序是理论顺序。 select...from...join...on...where...group

    2024年02月19日
    浏览(32)
  • 02 SQL更新语句执行流程

    与查询流程不一样的是,更新流程还涉及两个重要的日志模块。 ​ redo log(重做日志)和 binlog(归档日志) ​ redo log 物理日志 binlog 逻辑日志 WAL 的全称是 Write-Ahead Logging。 关键点就是 先写日志,再写磁盘 ,用来提升更新效率。 具体来说,当有一条记录需要更新的时候,

    2024年02月19日
    浏览(31)
  • 【Python】Python操作MySQL详解——PyMySQL

    Python标准数据库规范为 DB-API, DB-API定义了一系列必须的对象和数据库操作方式,以便为各种数据库系统和数据库访问程序提供一致的访问接口。 开发人员将接口封装成不同的数据库操作模块,不同的数据库需要不同数据库操作模块,例如,MySQL数据库,它对应以下操作模块

    2024年02月02日
    浏览(30)
  • MyBatis 中如何执行 SQL 语句

    MyBatis 是一个基于 Java 的持久层框架,它提供了多种方式来执行 SQL 语句,包括直接使用 SqlSession 执行、使用映射器(Mapper)执行、使用 SqlSessionTemplate 执行等。本文将介绍 MyBatis 中常见的 SQL 执行方式及其使用方法。 在 MyBatis 中,可以通过 SqlSession 对象直接执行 SQL 语句。S

    2024年02月13日
    浏览(23)
  • 【Mybatis】调试查看执行的 SQL 语句

    1. 问题场景: 记录日常开发过程中 Mybatis 调试 SQL 语句,想要查看Mybatis 中执行的 SQL语句,导致定位问题困难 2. 解决方式 双击shift 找到mybatis源码中的 MappedStatement 的 getBoundSql() 方法 Mybatis 的底层都会把 Mapper.xml 配置文件中的SQL 标签转化为基于 JDBC 执行的语句, boundSql 变量可

    2024年02月13日
    浏览(27)
  • GaussDB SQL查询语句执行过程解析

    本文分享自华为云社区《【GaussTech第2期】GaussDB SQL查询语句执行过程解析》,作者: GaussDB 数据库。 SQL于关系型数据库而言,重要性不言而喻。就像一个乐团的指挥,指导着作品的正确演绎和节奏的和谐统一。华为云GaussDB作为新一代关系型分布式数据库,具备卓越的技术性

    2024年04月24日
    浏览(28)
  • 【MySQL速通篇003】MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql

    这篇万字博客主要包括了我对: MySQL视图,MySQL触发器,MySQL函数,MySQL存储过程(参数分类,存储过程的增删改查等),SQL的动态执行,支持事务的存储过程,pymysql等的总结,可谓非常的详细😃 文章毕竟这么长,对于文章中的一些语法,概念,例子等错误,欢迎并感谢各位读

    2023年04月27日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包