批量删除table,只保留最近几天的table

2024-03-03 03:38

本文主要是介绍批量删除table,只保留最近几天的table,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#!/usr/bin/python3
"""
批量删除table,只保留最近几天的table
"""
import  pymysql
import  redef conn_(host='',usr='',passwd='',db='',port=3306,):conn = pymysql.connect(host, usr, passwd, db, port,charset='utf8')return  conndef 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_formlist_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)

这篇关于批量删除table,只保留最近几天的table的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768334

相关文章

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法