文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用Pandas库读写MySQL数据库

2023-06-16 20:59

关注

本篇文章为大家展示了如何使用Pandas库读写MySQL数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

ORM技术

对象关系映射技术,即ORM(Object-Relational Mapping)技术,指的是把关系数据库的表结构映射到对象上,通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

在Python中,最有名的ORM框架是SQLAlchemy。Java中典型的ORM中间件有: Hibernate, ibatis, speedframework。

SQLAlchemy 

SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。

可以使用pip命令安装SQLAlchemy模块:

pip install sqlalchemy

SQLAlchemy模块提供了create_engine()函数用来初始化数据库连接,SQLAlchemy用一个字符串表示连接信息:

'数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名'

Pandas读写MySQL数据库

我们需要以下三个库来实现Pandas读写MySQL数据库:

其中,pandas模块提供了read_sql_query()函数实现了对数据库的查询,to_sql()函数实现了对数据库的写入,并不需要实现新建MySQL数据表。sqlalchemy模块实现了与不同数据库的连接,而pymysql模块则使得Python能够操作MySQL数据库。

我们将使用MySQL数据库中的mydb数据库以及employee表,内容如下:

如何使用Pandas库读写MySQL数据库

mydb数据库以及employee表

下面将介绍一个简单的例子来展示如何在pandas中实现对MySQL数据库的读写:

# -*- coding: utf-8 -*- # 导入必要模块 import pandas as pd from sqlalchemy import create_engine # 初始化数据库连接,使用pymysql模块 # MySQL的用户:root, 密码:147369, 端口:3306,数据库:mydb engine = create_engine('mysql+pymysql://root:147369@localhost:3306/mydb') # 查询语句,选出employee表中的所有数据 sql = '''  select * from employee;  ''' # read_sql_query的两个参数: sql语句, 数据库连接 df = pd.read_sql_query(sql, engine) # 输出employee表的查询结果 print(df) # 新建pandas中的DataFrame, 只有id,num两列 df = pd.DataFrame({'id':[1,2,3,4],'num':[12,34,56,89]}) # 将新建的DataFrame储存为MySQL中的数据表,不储存index列 df.to_sql('mydf', engine, index= False) print('Read from and write to Mysql table successfully!')

程序的运行结果如下:

如何使用Pandas库读写MySQL数据库

程序的运行结果

在MySQL中查看mydf表格:

如何使用Pandas库读写MySQL数据库

如何使用Pandas库读写MySQL数据库

mydf表格

这说明我们确实将pandas中新建的DataFrame写入到了MySQL中!

将CSV文件写入到MySQL中

以上的例子实现了使用Pandas库实现MySQL数据库的读写,我们将再介绍一个实例:将CSV文件写入到MySQL中,示例的mpg.CSV文件前10行如下:

如何使用Pandas库读写MySQL数据库

mpg.CSV文件前10行

示例的Python代码如下:

# -*- coding: utf-8 -*- # 导入必要模块 import pandas as pd from sqlalchemy import create_engine # 初始化数据库连接,使用pymysql模块 engine = create_engine('mysql+pymysql://root:147369@localhost:3306/mydb') # 读取本地CSV文件 df = pd.read_csv("E://mpg.csv", sep=',') # 将新建的DataFrame储存为MySQL中的数据表,不储存index列 df.to_sql('mpg', engine, index= False) print("Write to MySQL successfully!")

在MySQL中查看mpg表格:

如何使用Pandas库读写MySQL数据库

上述内容就是如何使用Pandas库读写MySQL数据库,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯