Python工具箱系列(二十三)
基于游标得操作
游标是数据库操作的相对底层的能力。简单的操作如下:
import mysql.connector import random host = 'localhost' user = 'root' password = '8848is8848' dbname = 'demodb' def fakedata(maxtimes): # 连接数据库 demodb = mysql.connector.connect( host=host, user=user, password=password, database=dbname) democur = demodb.cursor() # 插入模拟出来的数据。 for _ in range(maxtimes): pm25 = random.uniform(0, 300) insertsql = f'insert into demotb(pm25) values({pm25})' democur.execute(insertsql) demodb.commit() democur.close() demodb.close() def querydata(): # 连接数据库 demodb = mysql.connector.connect( host=host, user=user, password=password, database=dbname) democur = demodb.cursor() # 进行一个简单的查询,返回多个值 selsql = 'select pm25 from demotb where pm25 >50.0' democur.execute(selsql) for i in democur: print(i) demodb.commit() democur.close() demodb.close() def queryresult(): # 连接数据库 demodb = mysql.connector.connect( host=host, user=user, password=password, database=dbname) democur = demodb.cursor() # 进行一个简单的查询,返回多个值 selsql = 'select max(pm25) from demotb' democur.execute(selsql) result = democur.fetchone() print(result) demodb.commit() democur.close() demodb.close() fakedata(10) querydata() queryresult()
上述操作是比较底层的,尤其是使用游标操作,只能够是遍历操作,然后依次处理数据。为此,需要引入更加抽象与高层的工具。
基于pandas的操作
pandas虽然字面意思是熊猫,但实际上它是一个强力的数据分析工具框架。网上对于pandas的介绍非常多,但笔者还是推荐直接看官方文档更好。使用pandas访问数据库的代码如下:
import mysql.connector import pandas as pd host = 'localhost' user = 'root' password = '8848is8848' dbname = 'demodb' def querydata(): # 连接数据库 demodb = mysql.connector.connect( host=host, user=user, password=password, database=dbname) # 进行一个简单的查询,返回多个值 selsql = 'select pm25 from demotb where pm25 >50.0' listpd = pd.read_sql(selsql, demodb) demodb.close() print(listpd) querydata()
此时返回的输出结果如下所示:
pm25
0 80.6221
1 192.4580
2 291.4450
3 279.8550
4 92.3528
5 107.4040
6 144.2040
7 213.5120
8 226.6060
如下所示,pandas使用DataFrame来管理记录,其输出本身就具有表格的特性,与数据库表也很相似,理解与操作起来非常方便。
在新版本的pandas中,上述代码会引起警告,建议改成SQLAlchemy connectable(engine/connection),后续代码将引入这种升级的连接方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)