数据库项目培训
python读写数据框到mysql(执⾏含有变量的动态mysql)我们⽤python读写sql时,通常需要参数变量,也就是执⾏动态sql,sql语句中的插⼊变量可以⽤format函数来实现转化,例如给⼀个含有时间序列的数据集,给定三个参数,数据集名称tablename,开始时间startDate,结束时间endDate,删除某数据集起始时间的数据,核⼼代码如下
tablename='user_train01_copy'
startdate='2018-07-01'
endDate='2018-07-01'
sql = "delete from {} where str_to_date(ts,'%Y-%m-%d') between '{}' and '{}' "
sql1 = sql.format(tablename, startdate, endDate)
print(sql1)
运⾏后结果:
delete from user_train01_copy where str_to_date(ts,'%Y-%m-%d')  between  '2018-07-01'  and  '2018-07-01'
任务描述:数据库中有若⼲时间序列的表,每个表时间列名为ts,选择给定时间段的某数据集的数据读为数据框;将给定时间段的数据写到给定数据集中,且先删除该时间段的数据,在写⼊:
import  pymysql
import pandas as pd
from sqlalchemy import create_engine
#将数据库中的表读成数据框df(给定表名和起⽌时间)
def read_mysql(tablename,startdate,endDate):
db = t("localhost", "root", "123456", "test")
sqlcmd='select * from %s' % tablename+' where date_format(ts,"%Y-%m-%d") between'+"'"+startdate+"'"+' and '+"'"+endDate+"'"
ad_sql(sqlcmd,db,index_col='index')
return  df
#将给定时间段的df写到数据库中的给定表
def write_df_to_table(df,tablename,startdate,endDate):
mysql怎么读英语
db = t("localhost", "root", "123456", "test")#数据库配置信息
cursor = db.cursor()
#先删除给定时间段的数据,防⽌重复,{}为变量占位符,下⾯三句是执⾏含有变量参数的核⼼代码
sql="delete from {} where date_format(ts,'%Y-%m-%d') between '{}' and '{}' "
sql1=sql.format(tablename,startdate,endDate)#sql语句动态变量转化函数
#执⾏删除操作后⼀定要提交,否则后⾯写⼊时会出现InternalError1205报错
dbmit()
link中stylesheet
yconnect = create_engine('mysql+pymysql://root:123456@localhost:3306/test?charset=utf8')
pd._sql(df, '%s' % tablename, yconnect, schema='test', if_exists='append')
dbmit()
#将表user_test01时间段的数据读成数据框
df1=read_mysql('user_test01','2018-07-01','2018-07-03')通信中的同步和异步
#print(df1)
#将上述数据框df1写到表user_train01_copy(先删除该时间段数据后在写进)连续leftjoin的先后顺序
write_df_to_table(df1,'user_train01_copy','2018-07-01','2018-07-03')html如何添加图片

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。