#!/usr/bin/env python
# encoding: utf-8
#@author: 东哥加油!
#@file: del_tb_bigtable_statistic.py
#@time: 2018/11/21 15:39
import pymysql
import datetime
import math
import time
#获取连接
def get_conn():
conn = None
try:
conn = pymysql.connect(
host=\"192.168.1.2\",
port=3306,
user=\"root\",
passwd=\"mysqlpassword\",
charset=\"utf8\",
)
except Exception as err:
print(err)
return conn
#查询语句执行
def get_data(sql):
conn = get_conn()
cur = conn.cursor()
cur.execute(sql)
data = cur.fetchall()
conn.close()
return data
#93天前的时间戳
# 2018-07-24 00:00:00 转成毫秒时间戳
def get_pdate_begin(xday):
now_time = datetime.datetime.now()
step_time = datetime.timedelta(days=xday)
yes_time = now_time - step_time
pdate = yes_time.strftime(\'%Y%m%d\')
print(pdate)
return pdate
#数据备份,放到tb_bigtable_statistic_hist表中
def data_bak(xday):
print(\"开始时间:\",time.strftime(\"%Y-%m-%d %H:%M:%S\", time.localtime()))
conn = get_conn()
cur = conn.cursor()
cidlist = data_zk(xday)
if cidlist == 0:
print(\'当天无注单\')
else:
for cids in cidlist:
try:
sql = \'\'\'insert into db_order.tb_bigtable_statistic_hist \\
select * from db_order.tb_bigtable_statistic \\
where cid in( %s )\'\'\' % cids
cur.execute(sql)
conn.commit()
except:
print(\'备份失败!!!\')
conn.rollback()
conn.close()
exit(99)
conn.close()
print(\"结束时间:\", time.strftime(\"%Y-%m-%d %H:%M:%S\", time.localtime()))
#组装cid成in的条件(....),5000个cid为一组
def data_zk(xday):
conn = get_conn()
cur = conn.cursor()
cid = get_cid(xday)
var1 = \"-999\"
i = 0
list = []
if cid.__len__() > 0:
for one in cid:
var1=var1+\",\"+str(one[0])
i=i+1
if(i==2000):
list.append(var1)
var1 = \"-999\"
i=0
list.append(var1)
return list
else:
return 0
#获取该条件所有的cid
def get_cid(xday):
pdate = get_pdate_begin(xday)
sql = \'\'\'SELECT cid
FROM db_order.tb_bigtable_statistic
WHERE pdate = %s limit 20000\'\'\' % (pdate)
cid = get_data(sql)
return cid
#删除数据
def del_data(xday):
print(\"删除开始时间:\", time.strftime(\"%Y-%m-%d %H:%M:%S\", time.localtime()))
conn = get_conn()
cur = conn.cursor()
cidlist = data_zk(xday)
if cidlist == 0:
print(\'当天无注单\')
else:
for cids in cidlist:
try:
sql = \'\'\'delete from db_order.tb_bigtable_statistic \\
where cid in( %s )\'\'\' % cids
cur.execute(sql)
conn.commit()
except:
print(\'备份失败!!!\')
conn.rollback()
conn.close()
exit(99)
conn.close()
print(\"删除结束时间:\", time.strftime(\"%Y-%m-%d %H:%M:%S\", time.localtime()))
def move_data(xday):
data_bak(xday)
del_data(xday)
if __name__ == \'__main__\':
move_data(93)
继续阅读与本文标签相同的文章
上一篇 :
意识是人工智能生命的最后一块拼图
-
在Win上做Python开发?当然是用官方的MS Terminal和VS Code了
2026-05-19栏目: 教程
-
受用一生的高效 PyCharm 使用技巧(四)
2026-05-19栏目: 教程
-
Springboot 之创建自定义starter
2026-05-19栏目: 教程
-
黑客们会用到哪些Python技术?
2026-05-19栏目: 教程
-
菜鸟如何在阿里云快速建站(pc站+手机站+公众号+小程序)
2026-05-19栏目: 教程
