一。读
1 .密码里面有特殊字符,例如@
from urllib.parse import quote_plus #用户名:user1 密码:user1 数据库地址:127.0.0.1:3306 数据库名:db1 db_engin='mysql+pymysql://user1:%s@127.0.0.1:3306/db1' %quote_plus('pass@aaa')
如果没有特殊字符串
#密码password db_engin='mysql+pymysql://user1:password@127.0.0.1:3306/db1'
3.连接数据库
结果用dataframe保存起来,还加上异常处理
from sqlalchemy import create_engine from sqlalchemy import exc import pandas as pd conn = create_engine(db_engin) sqlcmd1='SELECt * FROM table1 WHERe id=123' try: df = pd.read_sql_query(sqlcmd1, conn) except exc.OperationalError as e: print(e)
二。写数据库
将dataframe写入数据库
#db1是数据库名。table1是表名 db_engin就是上面读的那个数据库 conn = create_engine(db_engin) try: pd.io.sql.to_sql(df, table1,con=conn, schema='db1', if_exists='append', index=False) # 关闭 conn.dispose() except exc.OperationalError as e: print("writedb",e)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)