使用pymysql向CREATE TABLE添加变量
我需要改变一下我的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)