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

标签 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 创建表的资源吗?

最佳答案

使用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)

关于python - 使用 pymysql 将变量添加到 CREATE TABLE 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252574/

相关文章:

php - Laravel 上的 OrderBy 多态一对一关系

mysql - SQL 查询 : Speed up for huge tables

database - Ktor与Gradle从环境变量运行配置 “Could not resolve substitution to a value”

python - 如何将 start_url 添加为项目?

iOS Swift - 离线可用性

python - Python 生成器是否有 `let` 或 `as` 关键字?

mysql - 如何检查 MySQL 中的列是否为空或 null?

ruby-on-rails - Rails 无法登录到 postgresql - PG::Error - 密码 - 正确信息

python - 将整数列表转换为整数python

python - 如何在pyplot中绘制垂直偏移