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装饰器用法示例小结
Feb 11 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
Python批量修改图片分辨率的实例代码
Jul 04 Python
详解Python3定时器任务代码
Sep 23 Python
flask框架自定义url转换器操作详解
Jan 25 Python
Tensorflow 实现释放内存
Feb 03 Python
python实现图片横向和纵向拼接
Mar 05 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
Pygame Draw绘图函数的具体使用
Nov 17 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 Python
如何利用python实现Simhash算法
Jun 28 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日期处理函数 整型日期格式
2011/01/12 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
开启PHP的伪静态模式
2015/12/31 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
修改或扩展jQuery原生方法的代码实例
2015/01/13 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
微信小程序实现弹幕墙(祝福墙)
2020/11/18 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
详解python 注释、变量、类型
2018/08/10 Python
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
房地产开盘策划方案
2014/02/10 职场文书
企业形象策划方案
2014/05/29 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript