python读写mysql

目前用到的连接数据库,主要实现连个功能:1. 根据sql查询 2.将dataframe数据通过pandas包写入mysql数据库中

1. 根据sql查询:

    通常我们通过sql查询mysql中的表,分三步1.连接数据库 2.数据查询 3.关闭连接,如果需要查询的步骤较多,将查询封装成函数,通过参数传递sql代码会省事很多。

## 定义连接数据库函数
def my_db(host,user,passwd,db,sql,port= 3306,charset = 'utf8'):
    coon = pymysql.connect(host=host,
                           port=port,
                           user=user,
                           passwd = passwd,
                           db = db,
                           charset = charset
                           )
    cur = coon.cursor()
    cur.execute(sql)
    if sql.strip()[:6].upper() == 'SELECT':
        res = cur.fetchall()
    else:
        coon.commit()
        res = 'ok'
    cur.close()
    coon.close()
    return res

注意点: 1.端口一般为3306 ,且不能带引号

 2 . 将dataframe写入mysql ,本例选用to_sql() 

import pymysql
import pandas as pd
from sqlalchemy import create_engine

conn = create_engine('mysql+pymysql://用户名:密码@主机名:3306/数据库名',encoding='utf8')  
pd.io.sql.to_sql(数据框, mysql表名, conn, if_exists='replace')

3. cursor 和 create_engine 的区别:

 太复杂了,不懂-----

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值