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

您所在的位置:网站首页 pymysql连接数据库错误20009 Python中pymysql模块详解:安装、连接、执行SQL语句等常见操作

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

2024-06-10 09:47| 来源: 网络整理| 查看: 265

在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地址) **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!** **因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/0fb777882939679b877aaee8d10f7da7.png) ![img](https://img-blog.csdnimg.cn/img_convert/dabee2b968fdc11b1c1dd5109968e430.png) ![img](https://img-blog.csdnimg.cn/img_convert/6b72c78c4633319bcdeb782d707662b6.png) ![img](https://img-blog.csdnimg.cn/img_convert/b571fca7d38607a966a4945904aa3e96.png) ![img](https://img-blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png) ![img](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)** ng) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!** **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新** **如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)** ![](https://img-blog.csdnimg.cn/img_convert/21a9f595ff604d3323d03befd892148e.jpeg)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3