Pandas在一般情况下可以很简单的进行mysql的操作
连接mysql
可以使用sqlalchemy这个库来链接mysql
from sqlalchemy import create_engine import os db_user = os.environ.get('DB_USER', '') # 数据库用户名 db_password = os.environ.get('DB_PASSWORD', '') # 数据库密码 db_host = os.environ.get('DB_HOST', '') # 数据库主机地址 db_port = os.environ.get('DB_PORT', '3306') # 数据库端口 db_name = os.environ.get('DB_NAME', '') # 数据库名称 DB_STRING = f'mysql+mysqldb://{db_user}:{db_password}@{db_host}:{db_port}/{db_name}?charset=utf8' engine = create_engine(DB_STRING)
读取和操作mysql
使用pandas读取
cls.df = pd.read_sql_query(f"SELECT * FROM `table_name` where `column` like '%S'", con=engine)
可以把读取的数据直接分配给一个df
使用纯sql语句
connection = engine.connect() sql_cmd = text(f"delete FROM `{table_names['main_sheet']}` WHERE `content` ='' or `date` ='' ") result = connection.execute(sql_cmd) connection.commit()
写入sql
df_row.to_sql(f"`table_name`, con=engine, if_exists='append', index=False)
to_sql命令可以把df数组写入table_name的表里,可以采用新建或者追加的方式
原创文章,作者:熊阿初,如若转载,请注明出处:https://www.guofc.com/1186.html