使用pymysql将变量添加到CREATE TABLE名称

时间:2014-04-23 18:37:12

标签: python mysql database create-table pymysql

我需要改变我的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+"` 

返回我这样的内容:

天+ I

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

我每天都会运行这个脚本,因此每天都会有一个新表。现在它将它们命名为:

041014
041114
041214
etc...

是否有人知道如何使用Python创建表或创建任何资源?

1 个答案:

答案 0 :(得分: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)