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通过pil将图片转换成黑白效果的方法
Mar 16 Python
python使用点操作符访问字典(dict)数据的方法
Mar 16 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
python selenium 弹出框处理的实现
Feb 26 Python
python画微信表情符的实例代码
Oct 09 Python
树莓派升级python的具体步骤
Jul 05 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
分享unittest单元测试框架中几种常用的用例加载方法
Dec 02 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 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
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
详解将数据从Laravel传送到vue的四种方式
2019/10/16 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
如何判断微信内置浏览器(通过User Agent实现)
2014/09/01 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
详解VueJs前后端分离跨域问题
2017/05/24 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
Python深入学习之特殊方法与多范式
2014/08/31 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
利用python汇总统计多张Excel
2020/09/22 Python
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
护士2014年终工作总结
2014/11/11 职场文书
岗位职责范本大全
2015/02/26 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
Dashboard管理Kubernetes集群与API访问配置
2022/04/01 Servers
使用Python解决图表与画布的间距问题
2022/04/11 Python