Python连接mysql 

连接本地安装的mysql的时候, 创建连接engine的固定写法:

from sqlalchemy import create_engine

def engines():
    """建立连接并返回数据库的引擎 """
    host = 'localHost'
    db = 'practice'   # 数据库名
    user = 'znnxxn'  # 账号
    password = '123456789'   # 密码
    
    engine = create_engine(str(r"mysql+mysqldb://%s:" + '%s' + "@%s/%s?charset=utf8") % (user, password, host, db))
    return engine

连接远程mysql的时候, 创建连接engine的固定写法:

from sqlalchemy import create_engine

import pandas as pd 
def engines():
    """建立连接并返回数据库的引擎 """
    host = '183.192.19.38'  # IP地址 
    db = 'practice'   # 数据库名
    user = 'znnxxn'  # 账号
    password = '123456789'   # 密码
    
    engine = create_engine(str(r"mysql+mysqldb://%s:" + '%s' + "@%s/%s?charset=utf8") % (user, password, host, db))
    return engine

从数据库取数 

import pandas as pd 
def get_data(sql,engine):
    print('正在取数....')
    df=pd.read_sql(sql,con=engine)
    print('从数据库中拿到了数据!')
    return df
	

往数据库写数据

def save_res(data,engine,tname,db_name):
    """将DataFrame的数据写入数据库
       data: 要往数据库中写的DataFrame
       engine: 上面提到的engines 函数的返回值
       tname: 表名
       db_name: 数据库名  """

    print('数据有%s行'%data.shape[0])
    
    data.to_sql(tname,schema=db_name,con=engine,if_exists='append', index=False)

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值