使用python将旧数据替换为新数据
我有两张表TBL1和TBL2使用python将旧数据替换为新数据,python,mysql,sql,database,Python,Mysql,Sql,Database,我有两张表TBL1和TBL2 TBL1有两列id,nSql TBL2有3列date,custId,userId 我在TBL1中有17行,id为1到17。每个nSql中都有一个SQL查询 例如,nSql id==1是:“选择日期,pId作为custId,tId作为TBL3中的用户id” id==2是:“选择日期,qId作为custId,rId作为TBL4中的用户id” nSql结果始终是相同的3列 下面的查询运行并将数据放入表TBL2。如果TBL2中已经有当天的数据,我希望查询用新数据替换数据。
TBL1
有两列id
,nSql
TBL2
有3列date
,custId
,userId
我在TBL1中有17行,id为1到17。每个nSql中都有一个SQL查询 例如,nSql id==1是:
“选择日期,pId作为custId,tId作为TBL3中的用户id”
id==2是:
“选择日期,qId作为custId,rId作为TBL4中的用户id”
nSql结果始终是相同的3列
下面的查询运行并将数据放入表TBL2。如果TBL2中已经有当天的数据,我希望查询用新数据替换数据。
如果TBL2中没有数据,我希望以正常方式放置数据
例如,如果我在早上运行查询,如果我想在晚上再次运行查询,我希望使用新数据替换当天的旧数据,因为数据每天都会插入到TBL2中
另外,如果数据已经存在(如果由同事运行),我也不希望当天有重复的数据
我怎么做
多谢各位
(我是python新手,如果有人能分步解释并在代码中显示,我将不胜感激)
时间戳(使用datetime
)插入表中的所有数据。在插入之前,从datetime的日期为今天的表中删除
对于MySQL,您可以使用函数to_days()
插入新行时,now()
将允许您使用与当前时间对应的日期时间值:为什么人们不关注我是python新手。有人能输入密码吗。我想我们可以在“如果其他”语句中使用它。伪代码如下:if(curdate()==数据库上的日期)删除数据库数据并插入新数据。否则,请将新数据插入数据库。@Rio我的答案不是python。是MySQL。请参考以下链接:)
import MySQLdb
# Open connection
con = MySQLdb.Connection(host="localhost", user="root", passwd="root", db="test")
# create a cursor object
cur = con.cursor()
selectStatement = ("select nSql from TBL1")
cur.execute(selectStatement)
res = cur.fetchall()
for outerrow in res:
nSql = outerrow[0]
cur.execute(nSql)
reslt = cur.fetchall()
for row in reslt:
date = row[0]
custId = row[1]
userId = row[2]
insertStatement = ("insert into TBL2( date, custId, userId) values ('%s', %d, %d)" % (date, custId, userId))
cur.execute(insertStatement)
con.commit()