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条件和循环的使用方法
Nov 01 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
Python subprocess模块详细解读
Jan 29 Python
TensorFlow如何实现反向传播
Feb 06 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
python三大神器之fabric使用教程
Jun 10 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
scrapy在python爬虫中搭建出错的解决方法
Nov 22 Python
Python的Tqdm模块实现进度条配置
Feb 24 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下对字符串的递增运算代码
2010/08/21 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python实现按任意键继续执行程序
2016/12/30 Python
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
文员岗位职责范本
2014/03/08 职场文书
中学生评语大全
2014/04/18 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
SQL Server 中的事务介绍
2022/05/20 SQL Server