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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
Jun 29 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
python怎么判断模块安装完成
Jun 19 Python
Python实现信息管理系统
Jun 05 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安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
[JS]点出统计器
2020/10/11 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
python K近邻算法的kd树实现
2018/09/06 Python
python getpass实现密文实例详解
2019/09/24 Python
python创建n行m列数组示例
2019/12/02 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
活动总结怎么写啊
2014/05/07 职场文书
供用电专业求职信
2014/07/07 职场文书
公司年底活动方案
2014/08/17 职场文书
公司委托书格式范本
2014/09/16 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
家属联谊会致辞
2015/07/31 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
2019年图书室自查报告范本
2019/10/12 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers