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的While循环语句的使用方法
Oct 13 Python
bpython 功能强大的Python shell
Feb 16 Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
python爬虫之urllib3的使用示例
Jul 09 Python
Django进阶之CSRF的解决
Aug 01 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 Python
Pytest中conftest.py的用法
Jun 27 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 $_ENV为空的原因分析
2009/06/01 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
js 3种归并操作的实例代码
2013/10/30 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
JS中的==运算: [''] == false —>true
2016/07/24 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Python 处理图片像素点的实例
2019/01/08 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
在Python中表示一个对象的方法
2019/06/25 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
Java中compareTo和compare的区别
2016/04/12 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
事务机电主管工作职责
2014/02/25 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
应届生找工作求职信
2014/06/24 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
捐助感谢信
2015/01/22 职场文书
高考学习决心书
2015/02/04 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle