使用pymysql向CREATE TABLE添加变量

1 投票
1 回答
3305 浏览
提问于 2025-04-18 03:58

我需要改变一下我的Python脚本创建表名的方式。目前我有:

import pymysql
import datetime
from urllib.request import urlopen
from bs4 import BeautifulSoup


now = datetime.datetime.now()
today = now.strftime("%m%d%y")

conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='xxxxx',             db='database', charset='utf8')

cur = conn.cursor()

cur.execute("CREATE TABLE `"+today+"` ( Revenue varchar(255), Free varchar(255), Paid varchar(255), Game varchar(255), Price varchar(255), Revenue2 varchar(255), ARPU_Index varchar(255), Daily_New_Users varchar(255), Daily_Active_Users varchar(255), ARPU varchar(255), Rank_Change varchar(255))")

我需要修改

today = now.strftime("%m%d%y")

这样可以

"CREATE TABLE `"+today+"` 

返回类似这样的结果:

day+i

其中i是一个变量整数,每次创建表时都会增加。

我每天都运行这个脚本,所以每天都会有一个新的表。目前它的命名方式是这样的:

041014
041114
041214
etc...

有没有人知道我该怎么做,或者有什么关于使用Python创建表的资源吗?

1 个回答

0

使用SQL,你可以查询一下有多少个表格是以day开头的。确保你只关注那些以day开头的表格。

SELECT COUNT(TABLE_NAME)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='database' AND TABLE_NAME LIKE 'day%'

接下来,拿这个数字,加1,然后在Python中创建一个正确的表格名称字符串。

today = 'day {0}'.format(nr_tables_with_day+1)

撰写回答