Python批量删除只保留最近几天table的代码实例


Posted in Python onApril 01, 2019

Python批量删除table,只保留最近几天的table

代码如下:

#!/usr/bin/python3
"""
批量删除table,只保留最近几天的table
"""
import pymysql
import re
def conn_(host='',usr='',passwd='',db='',port=3306,):
  conn = pymysql.connect(host, usr, passwd, db, port,charset='utf8')
  return conn
def del_table(conn_,table_pre='',table_suff='%Y%m%d',keep_count=3):
  date_form = None
  if table_suff == "%Y%m%d":
    date_form = "_(\d{4}\d{1,2}\d{1,2})$"
    date_len = 8
  elif table_suff == "%Y-%m-%d":
    date_form = "_(\d{4}-\d{1,2}-\d{1,2})$"
    date_len = 10
  elif table_suff == "%Y%m":
    date_form = "_(\d{4}\d{1,2})$"
    date_len = 6
  elif table_suff == "%Y-%m":
    date_form = "_(\d{4}-\d{1,2})$"
    date_len = 7
  else:
    raise Exception("暂时不支持其他类型的时间后缀")
  curs = conn_.cursor()
  curs.execute('SHOW TABLES')
  data = curs.fetchall()
  table_ = r'%s'%table_pre+date_form
  list_table = []
  i = 0
  for table in data:
    mt = re.search(table_, table[0])
    if mt:
      if len(mt.groups()[0]) == date_len:
        list_table.append((table[0], mt.groups()[0]))
        i += 1
  sorted(list_table, key=lambda date: date[1]) #按照表结构后缀时间升序排序
  for j in range(i-keep_count):
    sql = 'DROP TABLE if exists %s'%list_table[j][0]
    curs.execute(sql)
  curs.close()
  conn_.close()
if __name__ == '__main__':
  table_pre = "tree_product"
  table_suff = "%Y%m%d"
  # table_suff = "%Y-%m-%d"
  # table_suff = "%Y%m"
  # table_suff = "%Y-%m"
  conn=conn_('10.0.0.11','root','sctele@root','sxf',port=3306)
  del_table(conn,table_pre=table_pre,table_suff=table_suff,keep_count=1)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Numpy array数据的增、删、改、查实例
Jun 04 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
python字典一键多值实例代码分享
Jun 14 Python
梅尔倒谱系数(MFCC)实现
Jun 19 Python
用python生成与调用cntk模型代码演示方法
Aug 26 Python
Python 生成一个从0到n个数字的列表4种方法小结
Nov 28 Python
Python JSON编解码方式原理详解
Jan 20 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
python实现文件分片上传的接口自动化
Nov 19 Python
python实现猜拳游戏项目
Nov 30 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 Python
Python Pygame实战之塔防游戏的实现
Mar 17 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
Apr 01 #Python
python assert的用处示例详解
Apr 01 #Python
使用Python操作FTP实现上传和下载的方法
Apr 01 #Python
Python提取特定时间段内数据的方法实例
Apr 01 #Python
如何使用Python进行OCR识别图片中的文字
Apr 01 #Python
Python datetime和unix时间戳之间相互转换的讲解
Apr 01 #Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 #Python
You might like
PHP 中执行系统外部命令
2006/10/09 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
js查找父节点的简单方法
2008/06/28 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
JS实现购物车特效
2017/02/02 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
python中常用的九种预处理方法分享
2016/09/11 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
一名女生的自荐信
2013/12/08 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
个园导游词
2015/02/04 职场文书
欢送领导祝酒词
2015/08/12 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python