gpt4 book ai didi

Python批量删除只保留最近几天table的代码实例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python批量删除只保留最近几天table的代码实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/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 )

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。

原文链接:https://blog.csdn.net/sxf_123456/article/details/79224404 。

最后此篇关于Python批量删除只保留最近几天table的代码实例的文章就讲到这里了,如果你想了解更多关于Python批量删除只保留最近几天table的代码实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com