#!/usr/bin/env python
# encoding: utf-8#@author: 东哥加油!
#@file: del_tb_bigtable_statistic.py
#@time: 2018/11/21 15:39import pymysql
import datetime
import math
import time#获取连接
def get_conn():conn = Nonetry: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_timepdate = 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 )''' % cidscur.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 = 0list = []if cid.__len__() > 0:for one in cid:var1=var1+","+str(one[0])i=i+1if(i==2000):list.append(var1)var1 = "-999"i=0list.append(var1)return listelse:return 0#获取该条件所有的cid
def get_cid(xday):pdate = get_pdate_begin(xday)sql = '''SELECT cidFROM 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 )''' % cidscur.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)

  

转载于:https://www.cnblogs.com/52shaidan/p/10106508.html

python 删除大表数据相关推荐

  1. mysql快速删除大表数据部分数据_mysql删除大表的部分数据

    mysql删除大表的部分数据 好久没写博客.最近项目要上线.下班时间还得陪着老妈.实在没时间更新. 今天有人提了一个问题,  www.2cto.com 一个表有1亿6000万的数据,有一个自增ID.最 ...

  2. mysql truncate 大表_MySQL删除大表时潜在的问题(drop table,truncate table)

    case1,删除大表时,因为清理自适应hash索引占用的内容导致的MySQL服务挂起 case2,大表的随意Drop或者truncate导致MySQL服务的挂起 按照本文中的结论就是 MySQL5.6 ...

  3. [原]Oracle删除大表并回收空间的过程

    近日在查询某项日志的时候,发现查询非常缓慢,根据以往的经验这是由于某个日志表过大引起的,为了加快查询,决定将大部分的历史数据迁移到另外一个表中,本文主要记录删除这个大表的过程,就解决问题而言还有很多方 ...

  4. MySQL-在线处理大表数据 在线修改大表的表结构

    文章目录 生猛干货 官方文档 概述 示例 大表数据的分批处理 修改大表的表结构 方案一 : 从表修改,主从切换 方案二: pt-online-schema-change 搞定MySQL 生猛干货 带你 ...

  5. mysql数据库truncate 夯住_MySQL如何优雅的删除大表实例详解

    前言 删除表,大家下意识想到的命令可能是直接使用DROP TABLE "表名",这是初生牛犊的做法,因为当要删除的表达空间到几十G,甚至是几百G的表时候.这样一条命令下去,MySQ ...

  6. MySQL 删除大表的性能问题

    微博上讨论MySQL在删除大表engine=innodb(30G+)时,如何减少MySQL hang的时间,现做一下简单总结:(微博地址:http://weibo.com/1642466057/yuP ...

  7. mysql 两张大表关联_详解mysql生产环境如何快速有效的删除大表,附实验说明

    概述 我们很多时候都会去drop一些大表,特别是生产环境做操作时,这里主要提一些注意事项,仅供参考. 01 相关语法 1.删表 DROP TABLE SyntaxDROP [TEMPORARY] TA ...

  8. Mysql大表数据清理

    假设大表表名:t_log delete操作会记录mysql日志,大数据量的清理会耗费大量时间,所以一般得用其他方式. 1.如果大表数据对我们来说不重要,完全可以直接清理,那么可以用truncate t ...

  9. MySQL快速清空大表数据(truncate table table_name;)

    MySQL快速清空大表数据 项目初次上线,进行性能测试造的数据量巨大,都是些不可用数据,但又有一些是必须保留的,很多时候需要进行系统性的清理数据或者是,将有用的数据筛选出来之后再插入到表中!保留表结构 ...

  10. truncate 删除大表

    truncate 删除大表 1. 删除dept_bak表中的数据 1.1 使用delete删除 delete from dept_bak; 这种删除数据的方式比较慢 delete语句删除数据的原理(d ...

最新文章

  1. 实现串匹配的并行算法_5-1-KMP模式匹配
  2. 使用 Fluent API 配置/映射属性和类型
  3. Why choose MySQL?
  4. Confluence 6 管理协同编辑 - 最大编辑者的限制
  5. 目标检测算法之FPN(附FPN代码实现)
  6. JMeter源码集成到Eclipse
  7. PIM SM建立SPT树过程与实验
  8. Python+selenium+eclipse执行web自动化(四)控件处理
  9. 鸿蒙谁法力最强,上古神话中,鸿蒙初开时有九大古神,鸿钧勉强上榜,烛龙位列前三...
  10. [MFC] 手动美化 MFC 窗体
  11. 白杨SEO:你知道SEO这个工作被误解或夸大有哪些吗?SEO不是万能的
  12. 韩天峰 - Swoole4-全新的PHP编程模式
  13. nuc8i7beh黑苹果_Intel NUC8i7BEH 黑苹果Hackintosh EFI引导
  14. mysql值为空返回0 ,否则 返回1
  15. android 球面 旋转 坐标系,天球坐标系和地球坐标系-GPS定位原理及应用-电子发烧友网站...
  16. python柱状图zzt_Python torch.diag方法代碼示例
  17. 物联网交互创新的探讨
  18. 计算机网络原理自学考试课程,自学考试《计算机网络原理》课程全国统一命题考试说明...
  19. Parity Game(并查集)
  20. 魔众相册系统 v1.1.0 页面SEO优化,系统升级调整

热门文章

  1. java三种经典的比对方法_几种任务调度的 Java 实现方法与比较
  2. 在网页输入框输入角标_这个免费插件能帮我们把Excel内容快速填充到网页表单?...
  3. 616nyoj 新手dp
  4. 【2020CCPC秦皇岛:C】Cameraman(计算几何+思维+枚举)
  5. 【手把手教你】股市技术分析利器之TA-Lib
  6. 织梦错误mynews.lib.php on line 40,织梦错误Fatal error: Using $this when not in object context...
  7. java ee自学_自学JavaEE难度大不大?
  8. 线接触和面接触的区别_接触器是啥?跟继电器有啥区别,6大常见故障怎么处理...
  9. php 编译原理,php编译原理 - Robin3D的个人页面 - OSCHINA - 中文开源技术交流社区
  10. 自组织映射网络SOMnet