一.读取数据
1.import pymysql #导入模块
2.设置连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='root',
database='text',
charset='utf8')
3.开始读取数据库数据
mysql_page = pd.read_sql("select * from Seven", con=conn)
二.写入数据
1.from sqlalchemy import create_engine #导入模块
2.engine = create_engine("mysql+pymysql://root:root@127.0.0.1:3306/text?charset=utf8") #设置连接数据库
两个root分别代表数据库的账号和密码,127.0.0.1为本地数据库,3306是端口号,text为数据库名字,charset=utf8是字符集。格式顺序不要动,@?不要去掉。
3.with engine.begin() as conn:
hechengbiao.to_sql(name='cunganbu',con=conn,if_exists = "replace",index=False) #写入MYSQL
-
name:
导入到mysql时表的名字
如果mysql里面已经用CREATE TABLE
创建好了表,那么就是该表名字
如果mysql没有创建好表,那么可以自己起一个合适的表名 -
con:
数据库连接,需要安装sqlalchemy库,目前仅支持sqlalchemy库创建的连接,pymysql库创建的连接不支持
-
if_exists:以下三个选项,是如果数据库里面已经存在该表的意思
"fail":直接报错,不再操作,类似mysql创建表时的IF NOT EXISTS
才创建表
"replace":先删除该表,然后再创建
"append":直接在表后面添加数据 -
index:bool
是否把DataFrame的索引列写入表中 -
index_label:
如果要把DataFrame的索引列写入表中,那么需要给出该索引列的名字,如果没给的话,那就会用DataFrame的列索引名
注意事项:
con 参数一定要仔细核对,否则数据库会连接失败,可参照上面给出的例子按自己的实际数据库位置进行更改