【数据分析师_04_Python数据分析基础】007_Pandas基础(MySQL 数据库数据内容的读取和写入)


转载请注明出处 😃!
手动反爬:Pandas基础(MySQL 数据库数据内容的读取和写入)
https://blog.csdn.net/Lyun911/article/details/112688751

注:以下使用 Jupyter Notebook 演示


7 数据库数据内容的读取和写入

数据库除了之前介绍的csv、excel类数据外,也是可以利用pandas直接操作的数据来源
pandas.read_sql 可以在数据库中执行指定的SQL语句查询或对整张表进行查询,以DataFrame 的类型返回查询结果,这是在跟数据库进行交互操作时很重要的一步:既读取数据,还返回DataFrame方便处理

思路:把 Pandas作为出具处理的过程,把 MySQL作为数据存储的仓库
重点:构建 engine(存储服务器和用户信息)和 query(存储 MySQL查询语句)放入 pd.read_sql_query() 操作

7.1 利用sql接口访问数据库

# 首先从服务打开 MySQL服务器

# !pip install pymysql
# !pip install flask-SQLAlchemy			# 安装用到的两个库

import pandas as pd
import sqlalchemy

# 用的是 mysql+和 pymysql的驱动,账户root,密码,服务器位置,用到的db
# 在这里构建一个 engine,用于之后的查询
# 如果有多个数据库账户或者接口,创建多个 engine即可
engine = sqlalchemy.create_engine('mysql+pymysql://root:1235@localhost:3306/erp')

在这里插入图片描述

7.2 读取 MySQL的数据

7.2.1 两种方式读取 MySQL的 Table

1、使用 Python语句的方式读取 table

df = pd.read_sql_table('customers', engine)# 把上面的 engine放进来

在这里插入图片描述
2、使用 SQL语句的方式读取 table

query = '''
SELECT * FROM customers;
'''
df_sql = pd.read_sql_query(query, engine)# 把上面的 engine放进来

在这里插入图片描述

7.2.2 使用 MySQL的 Query功能读取特定数据

# 使用 SQL语句的方式读取 table中的内容
query = '''
SELECT * FROM customers WHERE `cust_name` = 'Mouse House';
'''

df2 = pd.read_sql_query(query, engine)# 把上面的查询语句 query和 engine放进来
df2

在这里插入图片描述

7.3 使用to_sql进行数据写入

为了测试 to_sql,先创建一个空的表格,然后把查询到的,或者新的内容放进去
在 MySQL-NewQuery 中键入一下内容以新建一张空 Table:

CREATE TABLE customers2 AS SELECT * FROM customers;
DELETE FROM customers2;

然后在 Python中将数据录入到新表 customers2中:

df2.to_sql(
    name = 'customers2',		# 添加到的表名为 customers2
    con = engine,				# 用 engine中的账号连接,con是 connection的意思
    if_exists = 'append',		# 插入到最后
    index = False				# 不把 index索引添加到数据库中
)

在这里插入图片描述
这就添加成功了:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值