如何创建一个Mysql表,其列名称为从2000年到现在的monthNumbers。

例如:

  CREATE TABLE abc_horizontal
  (PRIMARY KEY (a_fips),
  a_fips INT(7),
  val_200001 DEC(8,4),
  val_200002 DEC(8,4),
  val_200003 DEC(8,4),
  val_200004 DEC(8,4), upto 201703 ?


有没有一种较短的方法可以使用python脚本从2000到当月生成这些val_yyyymm?

最佳答案

天哪,有很多方法!继承人...

print( "\n".join([
    "CREATE TABLE abc_horizontal",
    "(PRIMARY KEY (a_fips)",
    ", a_fips INT(7)",
    "\n".join([
        ", val_20%02d%02d DEC(8,4)"%(x,y+1)
        for x in range(18)
        for y in range(12)
        if not (x == 17 and y >= 04)
    ]),
    " );"
] ) )


您可能真正想要的是这样的东西

CREATE TABLE abc_horizontal (
    PRIMARY KEY (a_fips, reporting_date),
    a_fips INT(7),
    reporting_date CHAR(6),
    value DEC(8,4)
);

关于python - 如何从2000年开始使用月名创建Mysql表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42810046/

10-16 09:39