Python数据分析工具(四):pymysql的用法

pymysql 是一个用于连接 MySQL 数据库的 Python 库 。它提供了一个简单的方式来执行 SQL 语句、处理查询结果以及管理数据库连接。下面将介绍如何使用 pymysql 来连接 MySQL 数据库 、执行 SQL 语句以及处理结果。

安装 pymysql

首先,你需要确保已经安装了 pymysql。你可以通过 pip 来安装它:

bash 复制代码
pip install pymysql

连接数据库

使用 pymysql.connect() 方法来连接数据库。你需要提供数据库的地址(通常是主机名和端口号)、用户名、密码以及数据库名。

bash 复制代码
import pymysql  
  
# 连接数据库  
conn = pymysql.connect(host='数据库地址',  
                       user='用户名',  
                       password='密码',  
                       database='数据库名',  
                       charset='utf8mb4',  # 确保可以正确处理中文等字符  
                       cursorclass=pymysql.cursors.DictCursor)  # 返回字典类型的结果  
  
# 创建一个游标对象  
cursor = conn.cursor()

执行 SQL 语句

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

查询数据

bash 复制代码
# 执行查询  
cursor.execute("SELECT * FROM 表名")  
  
# 获取所有查询结果  
results = cursor.fetchall()  
  
for row in results:  
    print(row)  # 如果你在连接时使用了 DictCursor,这里将是字典类型

插入数据

bash 复制代码
# 插入数据  
sql = "INSERT INTO 表名 (列1, 列2) VALUES (%s, %s)"  
cursor.execute(sql, ('值1', '值2'))  
  
# 提交事务  

conn.commit()

更新和删除数据

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

bash 复制代码
# 更新数据  
sql = "UPDATE 表名 SET 列1 = %s WHERE 列2 = %s"  
cursor.execute(sql, ('新值', '条件值'))  
conn.commit()  
  
# 删除数据  
sql = "DELETE FROM 表名 WHERE 列名 = %s"  
cursor.execute(sql, ('条件值',))  
conn.commit()

关闭连接

完成数据库操作后,不要忘记关闭游标和连接。

bash 复制代码
# 关闭游标  
cursor.close()  
  
# 关闭连接  
conn.close()

注意事项

确保你拥有访问数据库的适当权限。

在处理敏感信息(如数据库密码)时,请确保遵守最佳安全实践。

使用参数化查询(如上例所示)来防止 SQL 注入攻击。

在生产环境中,考虑使用连接池等高级功能以提高性能和可维护性。

确保你的 MySQL 服务器配置允许从你的应用程序所在的服务器进行连接。

pymysql 提供了一个相对简单的接口来操作 MySQL 数据库,但它足够强大,可以满足大多数数据库操作需求。

相关推荐
花酒锄作田7 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear7 小时前
Python 并发 线程
开发语言·python
郑州光合科技余经理7 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
软件课代表CiCi8 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
Ivanqhz8 小时前
MLIR OpBuilder
开发语言·python·mlir
红宝村村长9 小时前
windows笔记本双系统ubuntu设置
开发语言
威联通安全存储10 小时前
TS-h2287XU-RP 在家电制造总装与质检数据场景的部署
python·制造
泡泡鱼(敲代码中)10 小时前
Python 字符串 str 完整学习笔记
python·学习
troy12810 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析
菜鸟~noob23311 小时前
【电子战】第15篇:混合定位——TDOA/FDOA/AOA 联合【含matlab代码】
开发语言·matlab