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 相关文章推荐
Python实现一个简单的MySQL类
Jan 07 Python
Python根据区号生成手机号码的方法
Jul 08 Python
Python中生成Epoch的方法
Apr 26 Python
python数据类型_字符串常用操作(详解)
May 30 Python
详解python eval函数的妙用
Nov 16 Python
100行python代码实现跳一跳辅助程序
Jan 15 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
由面试题加深对Django的认识理解
Jul 19 Python
利用Python检测URL状态
Jul 31 Python
python命令 -u参数用法解析
Oct 24 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 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 购物车实例(申精)
2009/05/11 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
js window.event对象详尽解析
2009/02/17 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
Python中使用__new__实现单例模式并解析
2019/06/25 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
python实现最速下降法
2020/03/24 Python
python属于哪种语言
2020/08/16 Python
5款实用的python 工具推荐
2020/10/13 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
高中生自我鉴定范文
2013/10/30 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
招聘专员岗位职责
2014/03/07 职场文书
环保倡议书50字
2014/05/15 职场文书
委托函范文
2015/01/29 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
2015小学师德工作总结
2015/07/21 职场文书
Oracle中update和select 关联操作
2022/01/18 Oracle
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js