pandas读取外部数据---(2)使用Pandas连接mysql、 读取及存储(写入)mysql数据

目录

1、使用pandas连接mysql

2、使用Pandas连接mysql查询读取mysql数据

3、使用Pandas连接mysql 并插入数据


1、使用pandas连接mysql

需要安装的库:pip install pymysql     pip install sqlalchemy

代码一(方法1):

import pandas as pd
import pymysql
from sqlalchemy import create_engine

# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:123456, 端口:3306,数据库:lean2
con = create_engine('mysql+pymysql://root:123456@localhost:3306/learn2')

代码二(方法2):

import pandas as pd
import pymysql
con=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='131129',db='learn2',use_unicode=True, charset="utf8")

2、使用Pandas连接mysql查询读取mysql数据pd.read_sql_query(sql, con = con)

import pandas as pd
import pymysql
from sqlalchemy import create_engine

# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:123456, 端口:3306,数据库:lean2
con = create_engine('mysql+pymysql://root:123456@localhost:3306/learn2')


# 查询语句,选出emp表中的所有数据
sql = ''' select * from emp; '''
# read_sql_query的两个参数: sql语句, 数据库连接
df = pd.read_sql_query(sql, con = con)
# 输出employee表的查询结果
print(df)

3、使用Pandas连接mysql 并插入数据

df.to_sql('tablename',con=con,index=ture/false,if_exists='append/fail/replace')

import pandas as pd
import pymysql
from sqlalchemy import create_engine

# 初始化数据库连接,使用pymysql模块
# MySQL的用户:root, 密码:123456, 端口:3306,数据库:lean2
con = create_engine('mysql+pymysql://root:123456@localhost:3306/learn2')


#直接写入数据-->mydf-->mydf表会自动创建
# 新建pandas中的DataFrame, 只有id,num两列
df = pd.DataFrame({'id': [1, 2, 3, 4], 'name': ['jalen', 'xr', 'lili', 'liuliu']})
# 将新建的DataFrame储存为MySQL中的数据表,储存index列
df.to_sql('mydf', con, index=True)
print('Read from and write to Mysql table successfully!')

# fail的意思如果表存在,啥也不做
# replace的意思,如果表存在,删了表,再建立一个新表,把数据插入
# append的意思,如果表存在,把数据插入,如果表不存在创建一个表!!
#在存在的表中追加数据-->mydf
df1 = pd.DataFrame({'id': [5, 6, 7, 8], 'name': ['jalen', 'xr', 'lili', 'liuliu']})
df1.to_sql('mydf', con, index=True,if_exists='append')
print('Append data to mysql database successfully!')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值