text: from sqlalchemy import *
  import click
  
  
  def upload_block(data, db_engine, db_tablename):
      data.to_sql(db_tablename, con=db_engine, if_exists='append', index=False, chunksize=10000)
  
  
  def initdb_statcast(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      statcast_engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=statcast_engine)
  
      table_statcast = Table(db_tablename, meta,
          Column("id", Integer, primary_key=True, autoincrement=True, nullable=False),
          Column("index", Integer, nullable=True),
          Column("sz_bot", Float, nullable=True),
          Column("inning", Float, nullable=True),
          Column("pitch_number", Float, nullable=True),
          Column("hit_distance_sc", Float, nullable=True),
          Column("plate_z", Float, nullable=True),
          Column("plate_x", Float, nullable=True),
          Column("umpire", Float, nullable=True),
          Column("pitch_type", String(512), nullable=True),
          Column("spin_rate_deprecated", Float, nullable=True),
          Column("pos8_person_id", Float, nullable=True),
          Column("pos6_person_id", Float, nullable=True),
          Column("pos2_person_id.1", Float, nullable=True),
          Column("on_3b", Float, nullable=True),
          Column("release_pos_y", Float, nullable=True),
          Column("pos2_person_id", Float, nullable=True),
          Column("launch_speed", Float, nullable=True),
          Column("ay", Float, nullable=True),
          Column("ax", Float, nullable=True),
          Column("az", Float, nullable=True),
          Column("p_throws", String(512), nullable=True),
          Column("release_speed", Float, nullable=True),
          Column("break_length_deprecated", Float, nullable=True),
          Column("at_bat_number", Float, nullable=True),
          Column("vy0", Float, nullable=True),
          Column("away_team", String(512), nullable=True),
          Column("player_name", String(512), nullable=True),
          Column("zone", Float, nullable=True),
          Column("pos7_person_id", Float, nullable=True),
          Column("babip_value", Float, nullable=True),
          Column("bb_type", String(512), nullable=True),
          Column("release_spin_rate", Float, nullable=True),
          Column("effective_speed", Float, nullable=True),
          Column("pos3_person_id", Float, nullable=True),
          Column("hc_y", Float, nullable=True),
          Column("inning_topbot", String(512), nullable=True),
          Column("release_extension", Float, nullable=True),
          Column("on_1b", Float, nullable=True),
          Column("pos1_person_id", Float, nullable=True),
          Column("hit_location", Float, nullable=True),
          Column("release_pos_x", Float, nullable=True),
          Column("events", String(512), nullable=True),
          Column("release_pos_z", Float, nullable=True),
          Column("game_year", Float, nullable=True),
          Column("pos4_person_id", Float, nullable=True),
          Column("woba_value", Float, nullable=True),
          Column("description", String(512), nullable=True),
          Column("pfx_z", Float, nullable=True),
          Column("launch_angle", Float, nullable=True),
          Column("pitcher", Float, nullable=True),
          Column("strikes", Float, nullable=True),
          Column("pos9_person_id", Float, nullable=True),
          Column("batter", Float, nullable=True),
          Column("pfx_x", Float, nullable=True),
          Column("hc_x", Float, nullable=True),
          Column("on_2b", Float, nullable=True),
          Column("game_pk", Float, nullable=True),
          Column("spin_dir", Float, nullable=True),
          Column("iso_value", Float, nullable=True),
          Column("woba_denom", Float, nullable=True),
          Column("home_team", String(512), nullable=True),
          Column("balls", Float, nullable=True),
          Column("estimated_ba_using_speedangle", Float, nullable=True),
          Column("estimated_woba_using_speedangle", Float, nullable=True),
          Column("type", String(512), nullable=True),
          Column("tfs_deprecated", Float, nullable=True),
          Column("des", String(512), nullable=True),
          Column("game_type", String(512), nullable=True),
          Column("outs_when_up", Float, nullable=True),
          Column("vx0", Float, nullable=True),
          Column("sz_top", Float, nullable=True),
          Column("launch_speed_angle", Float, nullable=True),
          Column("stand", String(512), nullable=True),
          Column("game_date", DateTime, nullable=True),
          Column("break_angle_deprecated", Float, nullable=True),
          Column("vz0", Float, nullable=True),
          Column("sv_id", String(512), nullable=True),
          Column("tfs_zulu_deprecated", Float, nullable=True),
          Column("pos5_person_id", Float, nullable=True), extend_existing=True)
  
      meta.create_all(statcast_engine)
  
      return statcast_engine
  
  
  def initdb_brooks(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      brooks_engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=brooks_engine)
  
      table_brooks = Table(db_tablename, meta,
          Column("id", Integer, primary_key=True, autoincrement=True, nullable=False),
          Column("inning", Integer, nullable=True),
          Column("y0", Integer, nullable=True),
          Column("pitcher_team", String(512), nullable=True),
          Column("start_speed", Float, nullable=True),
          Column("play_guid", String(512), nullable=True),
          Column("pfx_zdatafile", Float, nullable=True),
          Column("z0", Float, nullable=True),
          Column("ab_id", Integer, nullable=True),
          Column("pitcher_id", Integer, nullable=True),
          Column("ay", Float, nullable=True),
          Column("zone_location", Float, nullable=True),
          Column("pxold", Float, nullable=True),
          Column("batter_id", Integer, nullable=True),
          Column("p_throws", String(512), nullable=True),
          Column("park_sv_id", String(512), nullable=True),
          Column("vy0", Float, nullable=True),
          Column("az", Float, nullable=True),
          Column("ab_count", Integer, nullable=True),
          Column("pz", Float, nullable=True),
          Column("spin", Float, nullable=True),
          Column("px", Float, nullable=True),
          Column("pfx_xdatafile", Float, nullable=True),
          Column("date_stamp", String(512), nullable=True),
          Column("gid", String(512), nullable=True),
          Column("ftime", Float, nullable=True),
          Column("tstart", Float, nullable=True),
          Column("uncorrected_pfx_x", Float, nullable=True),
          Column("uncorrected_pfx_z", Float, nullable=True),
          Column("type", String(512), nullable=True),
          Column("sz_bot", Float, nullable=True),
          Column("norm_ht", Float, nullable=True),
          Column("pfx_z", Float, nullable=True),
          Column("strikes", Integer, nullable=True),
          Column("mlbam_pitch_name", String(512), nullable=True),
          Column("pitch_con", Float, nullable=True),
          Column("pfx_x", Float, nullable=True),
          Column("vystart", Float, nullable=True),
          Column("ab_total", Integer, nullable=True),
          Column("pdes", String(512), nullable=True),
          Column("balls", Integer, nullable=True),
          Column("des", String(512), nullable=True),
          Column("x0", Float, nullable=True),
          Column("ax", Float, nullable=True),
          Column("sz_top", Float, nullable=True),
          Column("stand", String(512), nullable=True),
          Column("sb", Integer, nullable=True),
          Column("vz0", Float, nullable=True),
          Column("pzold", Float, nullable=True),
          Column("vx0", Float, nullable=True))
  
      meta.create_all(brooks_engine)
  
      return brooks_engine
  
  
  def initdb_pitching(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      pitching_engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=pitching_engine)
  
      table_pitching = Table(db_tablename, meta,
          *[Column("Name", String(512), nullable=True),
          Column("Team", String(512), nullable=True),
          Column("Age", Float, nullable=True),
          Column("ERA", Float, nullable=True),
          Column("UN (pfx)", Float, nullable=True),
          Column("wCH (pi)", Float, nullable=True),
          Column("KC-X (pfx)", Float, nullable=True),
          Column("FC-Z (pfx)", Float, nullable=True),
          Column("BB", Float, nullable=True),
          Column("wKN", Float, nullable=True),
          Column("wCH/C (pfx)", Float, nullable=True),
          Column("wKC (pfx)", Float, nullable=True),
          Column("BK", Float, nullable=True),
          Column("wCH/C (pi)", Float, nullable=True),
          Column("BU", Float, nullable=True),
          Column("FC-Z (pi)", Float, nullable=True),
          Column("BB/9", Float, nullable=True),
          Column("Oppo", Float, nullable=True),
          Column("vSC (pfx)", Float, nullable=True),
          Column("WP", Float, nullable=True),
          Column("wSL (pfx)", Float, nullable=True),
          Column("wCU (pfx)", Float, nullable=True),
          Column("SF", Float, nullable=True),
          Column("HBP", Float, nullable=True),
          Column("pLI", Float, nullable=True),
          Column("FA-X (pi)", Float, nullable=True),
          Column("vSI (pi)", Float, nullable=True),
          Column("E-F", Float, nullable=True),
          Column("FS (pi)", Float, nullable=True),
          Column("CH", Float, nullable=True),
          Column("Zone", Float, nullable=True),
          Column("RS", Float, nullable=True),
          Column("SL-Z (pfx)", Float, nullable=True),
          Column("wFC/C (pi)", Float, nullable=True),
          Column("KN", Float, nullable=True),
          Column("wFC (pfx)", Float, nullable=True),
          Column("wSL", Float, nullable=True),
          Column("Strikes", Float, nullable=True),
          Column("GB/FB", Float, nullable=True),
          Column("RAR", Float, nullable=True),
          Column("wSI (pfx)", Float, nullable=True),
          Column("FS-X (pfx)", Float, nullable=True),
          Column("SI-X (pi)", Float, nullable=True),
          Column("SL-X (pfx)", Float, nullable=True),
          Column("SB-Z (pi)", Float, nullable=True),
          Column("vFA (pi)", Float, nullable=True),
          Column("vFC (pfx)", Float, nullable=True),
          Column("FIP", Float, nullable=True),
          Column("GS", Float, nullable=True),
          Column("CS (pi)", Float, nullable=True),
          Column("Relief-IP", Float, nullable=True),
          Column("Med", Float, nullable=True),
          Column("SFv", Float, nullable=True),
          Column("H", Float, nullable=True),
          Column("SB (pi)", Float, nullable=True),
          Column("L", Float, nullable=True),
          Column("KN (pfx)", Float, nullable=True),
          Column("wFA/C (pfx)", Float, nullable=True),
          Column("FO (pfx)", Float, nullable=True),
          Column("GB", Float, nullable=True),
          Column("Swing (pfx)", Float, nullable=True),
          Column("vEP (pfx)", Float, nullable=True),
          Column("wCH (pfx)", Float, nullable=True),
          Column("wKN/C (pfx)", Float, nullable=True),
          Column("vFT (pfx)", Float, nullable=True),
          Column("FA-Z (pi)", Float, nullable=True),
          Column("SC (pfx)", Float, nullable=True),
          Column("CH-Z (pi)", Float, nullable=True),
          Column("CH (pi)", Float, nullable=True),
          Column("wCT", Float, nullable=True),
          Column("FDP-Wins", Float, nullable=True),
          Column("FT (pfx)", Float, nullable=True),
          Column("KN (pi)", Float, nullable=True),
          Column("ERA-", Float, nullable=True),
          Column("wKN/C", Float, nullable=True),
          Column("BUH", Float, nullable=True),
          Column("wCB", Float, nullable=True),
          Column("wFC/C (pfx)", Float, nullable=True),
          Column("Z-Contact (pfx)", Float, nullable=True),
          Column("CHv", Float, nullable=True),
          Column("CH-X (pfx)", Float, nullable=True),
          Column("KNv", Float, nullable=True),
          Column("wCH", Float, nullable=True),
          Column("wCB/C", Float, nullable=True),
          Column("SL-X (pi)", Float, nullable=True),
          Column("ShO", Float, nullable=True),
          Column("vCS (pi)", Float, nullable=True),
          Column("SIERA", Float, nullable=True),
          Column("Pace (pi)", Float, nullable=True),
          Column("FB", Float, nullable=True),
          Column("CB", Float, nullable=True),
          Column("HR", Float, nullable=True),
          Column("FA (pi)", Float, nullable=True),
          Column("BS", Float, nullable=True),
          Column("wFB/C", Float, nullable=True),
          Column("KC (pfx)", Float, nullable=True),
          Column("tERA", Float, nullable=True),
          Column("EP-Z (pfx)", Float, nullable=True),
          Column("K/9", Float, nullable=True),
          Column("FC (pi)", Float, nullable=True),
          Column("FS-Z (pfx)", Float, nullable=True),
          Column("wSC/C (pfx)", Float, nullable=True),
          Column("IFH", Float, nullable=True),
          Column("EP-X (pfx)", Float, nullable=True),
          Column("EP (pfx)", Float, nullable=True),
          Column("H/9", Float, nullable=True),
          Column("wFC (pi)", Float, nullable=True),
          Column("wKN (pfx)", Float, nullable=True),
          Column("G", Float, nullable=True),
          Column("CU-X (pi)", Float, nullable=True),
          Column("Soft", Float, nullable=True),
          Column("Season", Float, nullable=True),
          Column("wEP/C (pfx)", Float, nullable=True),
          Column("vSL (pi)", Float, nullable=True),
          Column("Hard", Float, nullable=True),
          Column("SwStr", Float, nullable=True),
          Column("FS (pfx)", Float, nullable=True),
          Column("kwERA", Float, nullable=True),
          Column("BUH", Float, nullable=True),
          Column("wFT (pfx)", Float, nullable=True),
          Column("vCU (pi)", Float, nullable=True),
          Column("wSB/C (pi)", Float, nullable=True),
          Column("LOB-Wins", Float, nullable=True),
          Column("HR/FB", Float, nullable=True),
          Column("SI-Z (pi)", Float, nullable=True),
          Column("wXX (pi)", Float, nullable=True),
          Column("SC-X (pfx)", Float, nullable=True),
          Column("wCS (pi)", Float, nullable=True),
          Column("Age Rng", String(512), nullable=True),
          Column("SL (pi)", Float, nullable=True),
          Column("CS-X (pi)", Float, nullable=True),
          Column("wSI/C (pfx)", Float, nullable=True),
          Column("wCU (pi)", Float, nullable=True),
          Column("wFS/C (pfx)", Float, nullable=True),
          Column("wEP (pfx)", Float, nullable=True),
          Column("LD", Float, nullable=True),
          Column("Clutch", Float, nullable=True),
          Column("Dollars", String(512), nullable=True),
          Column("wSF/C", Float, nullable=True),
          Column("wFS/C (pi)", Float, nullable=True),
          Column("RS/9", Float, nullable=True),
          Column("vFA (pfx)", Float, nullable=True),
          Column("CBv", Float, nullable=True),
          Column("Swing", Float, nullable=True),
          Column("W", Float, nullable=True),
          Column("O-Swing (pfx)", Float, nullable=True),
          Column("wSL (pi)", Float, nullable=True),
          Column("xFIP", Float, nullable=True),
          Column("FO-Z (pfx)", Float, nullable=True),
          Column("ER", Float, nullable=True),
          Column("SI-Z (pfx)", Float, nullable=True),
          Column("MD", Float, nullable=True),
          Column("GB", Float, nullable=True),
          Column("FC-X (pfx)", Float, nullable=True),
          Column("Z-Swing (pi)", Float, nullable=True),
          Column("wSF", Float, nullable=True),
          Column("vKN (pi)", Float, nullable=True),
          Column("HR/9", Float, nullable=True),
          Column("CH (pfx)", Float, nullable=True),
          Column("vSL (pfx)", Float, nullable=True),
          Column("wSB (pi)", Float, nullable=True),
          Column("FA-Z (pfx)", Float, nullable=True),
          Column("Pull", Float, nullable=True),
          Column("Z-Swing (pfx)", Float, nullable=True),
          Column("FA (pfx)", Float, nullable=True),
          Column("AVG", Float, nullable=True),
          Column("wFS (pfx)", Float, nullable=True),
          Column("FIP-", Float, nullable=True),
          Column("K/BB", Float, nullable=True),
          Column("TBF", Float, nullable=True),
          Column("SI-X (pfx)", Float, nullable=True),
          Column("wSI/C (pi)", Float, nullable=True),
          Column("XX", Float, nullable=True),
          Column("K", Float, nullable=True),
          Column("F-Strike", Float, nullable=True),
          Column("REW", Float, nullable=True),
          Column("vFO (pfx)", Float, nullable=True),
          Column("FB", Float, nullable=True),
          Column("WPA/LI", Float, nullable=True),
          Column("SL-Z (pi)", Float, nullable=True),
          Column("FC-X (pi)", Float, nullable=True),
          Column("wSI (pi)", Float, nullable=True),
          Column("CU-Z (pfx)", Float, nullable=True),
          Column("XX-X (pi)", Float, nullable=True),
          Column("Contact (pfx)", Float, nullable=True),
          Column("CTv", Float, nullable=True),
          Column("FS-Z (pi)", Float, nullable=True),
          Column("BABIP", Float, nullable=True),
          Column("wFB", Float, nullable=True),
          Column("CH-X (pi)", Float, nullable=True),
          Column("wCH/C", Float, nullable=True),
          Column("Pitches", Float, nullable=True),
          Column("KN-X (pfx)", Float, nullable=True),
          Column("RE24", Float, nullable=True),
          Column("wKN/C (pi)", Float, nullable=True),
          Column("wSL/C (pi)", Float, nullable=True),
          Column("SC-Z (pfx)", Float, nullable=True),
          Column("vXX (pi)", Float, nullable=True),
          Column("Pace", Float, nullable=True),
          Column("KN-X (pi)", Float, nullable=True),
          Column("WPA", Float, nullable=True),
          Column("CU-X (pfx)", Float, nullable=True),
          Column("wFS (pi)", Float, nullable=True),
          Column("gmLI", Float, nullable=True),
          Column("Balls", Float, nullable=True),
          Column("Swing (pi)", Float, nullable=True),
          Column("FBv", Float, nullable=True),
          Column("KC-Z (pfx)", Float, nullable=True),
          Column("CG", Float, nullable=True),
          Column("XX (pi)", Float, nullable=True),
          Column("wFA (pfx)", Float, nullable=True),
          Column("wCT/C", Float, nullable=True),
          Column("R", Float, nullable=True),
          Column("wCU/C (pi)", Float, nullable=True),
          Column("O-Swing", Float, nullable=True),
          Column("Starting", Float, nullable=True),
          Column("WAR", Float, nullable=True),
          Column("WHIP", Float, nullable=True),
          Column("wXX/C (pi)", Float, nullable=True),
          Column("LOB", Float, nullable=True),
          Column("CU-Z (pi)", Float, nullable=True),
          Column("wKN (pi)", Float, nullable=True),
          Column("BIP-Wins", Float, nullable=True),
          Column("-WPA", Float, nullable=True),
          Column("wFA (pi)", Float, nullable=True),
          Column("SV", Float, nullable=True),
          Column("wFO/C (pfx)", Float, nullable=True),
          Column("CT", Float, nullable=True),
          Column("vFC (pi)", Float, nullable=True),
          Column("IFFB", Float, nullable=True),
          Column("SO", Float, nullable=True),
          Column("Cent", Float, nullable=True),
          Column("Start-IP", Float, nullable=True),
          Column("FS-X (pi)", Float, nullable=True),
          Column("O-Swing (pi)", Float, nullable=True),
          Column("XX-Z (pi)", Float, nullable=True),
          Column("CS-Z (pi)", Float, nullable=True),
          Column("SL (pfx)", Float, nullable=True),
          Column("O-Contact (pi)", Float, nullable=True),
          Column("SD", Float, nullable=True),
          Column("wCS/C (pi)", Float, nullable=True),
          Column("vKN (pfx)", Float, nullable=True),
          Column("Relieving", Float, nullable=True),
          Column("FA-X (pfx)", Float, nullable=True),
          Column("IBB", Float, nullable=True),
          Column("Zone (pi)", Float, nullable=True),
          Column("vFS (pfx)", Float, nullable=True),
          Column("FO-X (pfx)", Float, nullable=True),
          Column("inLI", Float, nullable=True),
          Column("FT-X (pfx)", Float, nullable=True),
          Column("vKC (pfx)", Float, nullable=True),
          Column("FC (pfx)", Float, nullable=True),
          Column("K-BB", Float, nullable=True),
          Column("LD", Float, nullable=True),
          Column("wFA/C (pi)", Float, nullable=True),
          Column("xFIP-", Float, nullable=True),
          Column("BB", Float, nullable=True),
          Column("wFT/C (pfx)", Float, nullable=True),
          Column("Zone (pfx)", Float, nullable=True),
          Column("wSL/C (pfx)", Float, nullable=True),
          Column("wKC/C (pfx)", Float, nullable=True),
          Column("IFFB", Float, nullable=True),
          Column("Z-Contact (pi)", Float, nullable=True),
          Column("SL", Float, nullable=True),
          Column("CU (pfx)", Float, nullable=True),
          Column("IFH", Float, nullable=True),
          Column("O-Contact (pfx)", Float, nullable=True),
          Column("vCU (pfx)", Float, nullable=True),
          Column("wCU/C (pfx)", Float, nullable=True),
          Column("TTO", Float, nullable=True),
          Column("vSB (pi)", Float, nullable=True),
          Column("IP", Float, nullable=True),
          Column("RA9-WAR", Float, nullable=True),
          Column("vFS (pi)", Float, nullable=True),
          Column("wSC (pfx)", Float, nullable=True),
          Column("Z-Swing", Float, nullable=True),
          Column("O-Contact", Float, nullable=True),
          Column("CH-Z (pfx)", Float, nullable=True),
          Column("exLI", Float, nullable=True),
          Column("SB-X (pi)", Float, nullable=True),
          Column("FT-Z (pfx)", Float, nullable=True),
          Column("PO", Float, nullable=True),
          Column("vSI (pfx)", Float, nullable=True),
          Column("Z-Contact", Float, nullable=True),
          Column("CU (pi)", Float, nullable=True),
          Column("HLD", Float, nullable=True),
          Column("Contact", Float, nullable=True),
          Column("wSL/C", Float, nullable=True),
          Column("SLv", Float, nullable=True),
          Column("SI (pfx)", Float, nullable=True),
          Column("SI (pi)", Float, nullable=True),
          Column("vCH (pi)", Float, nullable=True),
          Column("wFO (pfx)", Float, nullable=True),
          Column("+WPA", Float, nullable=True),
          Column("vCH (pfx)", Float, nullable=True),
          Column("KN-Z (pi)", Float, nullable=True),
          Column("Pulls", Float, nullable=True),
          Column("Contact (pi)", Float, nullable=True),
          Column("KN-Z (pfx)", Float, nullable=True)])
  
      meta.create_all(pitching_engine)
  
      return pitching_engine
  
  
  def initdb_batting(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=engine)
  
      table_batting = Table(db_tablename, meta,
          *[
              Column("Name", String(512), nullable=True),
              Column("Team", String(512), nullable=True),
              Column("Age", Float, nullable=True),
              Column("UN (pfx)", Float, nullable=True),
              Column("wCH (pi)", Float, nullable=True),
              Column("KC-X (pfx)", Float, nullable=True),
              Column("FC-Z (pfx)", Float, nullable=True),
              Column("BB", Float, nullable=True),
              Column("wKN", Float, nullable=True),
              Column("wCH/C (pfx)", Float, nullable=True),
              Column("wKC (pfx)", Float, nullable=True),
              Column("Hard", Float, nullable=True),
              Column("wCH/C (pi)", Float, nullable=True),
              Column("BU", Float, nullable=True),
              Column("FC-Z (pi)", Float, nullable=True),
              Column("Oppo", Float, nullable=True),
              Column("vSC (pfx)", Float, nullable=True),
              Column("wSL (pfx)", Float, nullable=True),
              Column("wCU (pfx)", Float, nullable=True),
              Column("SF", Float, nullable=True),
              Column("HBP", Float, nullable=True),
              Column("pLI", Float, nullable=True),
              Column("FA-X (pi)", Float, nullable=True),
              Column("vSI (pi)", Float, nullable=True),
              Column("vFA (pfx)", Float, nullable=True),
              Column("FS (pi)", Float, nullable=True),
              Column("CH", Float, nullable=True),
              Column("Zone", Float, nullable=True),
              Column("wSF", Float, nullable=True),
              Column("SL-Z (pfx)", Float, nullable=True),
              Column("wFC/C (pi)", Float, nullable=True),
              Column("KN", Float, nullable=True),
              Column("wFC (pfx)", Float, nullable=True),
              Column("wSL", Float, nullable=True),
              Column("Strikes", Float, nullable=True),
              Column("GB/FB", Float, nullable=True),
              Column("wFT (pfx)", Float, nullable=True),
              Column("RAR", Float, nullable=True),
              Column("wSI (pfx)", Float, nullable=True),
              Column("FS-X (pfx)", Float, nullable=True),
              Column("SI-X (pi)", Float, nullable=True),
              Column("SL-X (pfx)", Float, nullable=True),
              Column("SB-Z (pi)", Float, nullable=True),
              Column("vFA (pi)", Float, nullable=True),
              Column("vFC (pfx)", Float, nullable=True),
              Column("Bat", Float, nullable=True),
              Column("CS (pi)", Float, nullable=True),
              Column("wFA/C (pi)", Float, nullable=True),
              Column("Med", Float, nullable=True),
              Column("SFv", Float, nullable=True),
              Column("H", Float, nullable=True),
              Column("Def", Float, nullable=True),
              Column("KN (pfx)", Float, nullable=True),
              Column("SB (pi)", Float, nullable=True),
              Column("wFA/C (pfx)", Float, nullable=True),
              Column("FO (pfx)", Float, nullable=True),
              Column("GB", Float, nullable=True),
              Column("2B", Float, nullable=True),
              Column("Swing (pfx)", Float, nullable=True),
              Column("vEP (pfx)", Float, nullable=True),
              Column("wCH (pfx)", Float, nullable=True),
              Column("vFT (pfx)", Float, nullable=True),
              Column("FA-Z (pi)", Float, nullable=True),
              Column("CU-Z (pi)", Float, nullable=True),
              Column("CH-Z (pi)", Float, nullable=True),
              Column("CH (pi)", Float, nullable=True),
              Column("wCT", Float, nullable=True),
              Column("BB/K", Float, nullable=True),
              Column("FT (pfx)", Float, nullable=True),
              Column("KN (pi)", Float, nullable=True),
              Column("wKN/C", Float, nullable=True),
              Column("BUH", Float, nullable=True),
              Column("wCB", Float, nullable=True),
              Column("wFC/C (pfx)", Float, nullable=True),
              Column("Z-Contact (pfx)", Float, nullable=True),
              Column("CHv", Float, nullable=True),
              Column("CH-X (pfx)", Float, nullable=True),
              Column("KNv", Float, nullable=True),
              Column("wCH", Float, nullable=True),
              Column("wCB/C", Float, nullable=True),
              Column("Spd", Float, nullable=True),
              Column("SL-X (pi)", Float, nullable=True),
              Column("vCS (pi)", Float, nullable=True),
              Column("FB", Float, nullable=True),
              Column("CB", Float, nullable=True),
              Column("HR", Float, nullable=True),
              Column("Rep", Float, nullable=True),
              Column("wFB/C", Float, nullable=True),
              Column("KC (pfx)", Float, nullable=True),
              Column("EP-Z (pfx)", Float, nullable=True),
              Column("FC (pi)", Float, nullable=True),
              Column("FS-Z (pfx)", Float, nullable=True),
              Column("3B", Float, nullable=True),
              Column("wSC/C (pfx)", Float, nullable=True),
              Column("IFH", Float, nullable=True),
              Column("EP-X (pfx)", Float, nullable=True),
              Column("EP (pfx)", Float, nullable=True),
              Column("wCH/C", Float, nullable=True),
              Column("wFC (pi)", Float, nullable=True),
              Column("wKN (pfx)", Float, nullable=True),
              Column("G", Float, nullable=True),
              Column("CU-X (pi)", Float, nullable=True),
              Column("Soft", Float, nullable=True),
              Column("Season", Float, nullable=True),
              Column("wEP/C (pfx)", Float, nullable=True),
              Column("vSL (pi)", Float, nullable=True),
              Column("BABIP", Float, nullable=True),
              Column("SwStr", Float, nullable=True),
              Column("wRC+", Float, nullable=True),
              Column("FS (pfx)", Float, nullable=True),
              Column("BUH", Float, nullable=True),
              Column("PA", Float, nullable=True),
              Column("vCU (pi)", Float, nullable=True),
              Column("wSB/C (pi)", Float, nullable=True),
              Column("HR/FB", Float, nullable=True),
              Column("SI-Z (pi)", Float, nullable=True),
              Column("PH", Float, nullable=True),
              Column("wXX (pi)", Float, nullable=True),
              Column("SC-X (pfx)", Float, nullable=True),
              Column("wCS (pi)", Float, nullable=True),
              Column("Age Rng", String(512), nullable=True),
              Column("SL (pi)", Float, nullable=True),
              Column("CS-X (pi)", Float, nullable=True),
              Column("wSI/C (pfx)", Float, nullable=True),
              Column("wCU (pi)", Float, nullable=True),
              Column("wFS/C (pfx)", Float, nullable=True),
              Column("LD", Float, nullable=True),
              Column("Clutch", Float, nullable=True),
              Column("FS-Z (pi)", Float, nullable=True),
              Column("wSF/C", Float, nullable=True),
              Column("wFS/C (pi)", Float, nullable=True),
              Column("Pace", Float, nullable=True),
              Column("wSB", Float, nullable=True),
              Column("CBv", Float, nullable=True),
              Column("Swing", Float, nullable=True),
              Column("wCU/C (pi)", Float, nullable=True),
              Column("O-Swing (pfx)", Float, nullable=True),
              Column("wSL (pi)", Float, nullable=True),
              Column("KN-X (pfx)", Float, nullable=True),
              Column("FO-Z (pfx)", Float, nullable=True),
              Column("SI-Z (pfx)", Float, nullable=True),
              Column("phLI", Float, nullable=True),
              Column("GB", Float, nullable=True),
              Column("wRC", Float, nullable=True),
              Column("OPS", Float, nullable=True),
              Column("WAR", Float, nullable=True),
              Column("vKN (pfx)", Float, nullable=True),
              Column("TTO", Float, nullable=True),
              Column("vKN (pi)", Float, nullable=True),
              Column("wKN/C (pfx)", Float, nullable=True),
              Column("CH (pfx)", Float, nullable=True),
              Column("vSL (pfx)", Float, nullable=True),
              Column("wGDP", Float, nullable=True),
              Column("FA-Z (pfx)", Float, nullable=True),
              Column("Pull", Float, nullable=True),
              Column("Z-Swing (pfx)", Float, nullable=True),
              Column("FA (pfx)", Float, nullable=True),
              Column("IFFB", Float, nullable=True),
              Column("wFS (pfx)", Float, nullable=True),
              Column("FA (pi)", Float, nullable=True),
              Column("wKN (pi)", Float, nullable=True),
              Column("SC (pfx)", Float, nullable=True),
              Column("FS-X (pi)", Float, nullable=True),
              Column("SI-X (pfx)", Float, nullable=True),
              Column("wSI/C (pi)", Float, nullable=True),
              Column("XX", Float, nullable=True),
              Column("K", Float, nullable=True),
              Column("wCS/C (pi)", Float, nullable=True),
              Column("F-Strike", Float, nullable=True),
              Column("REW", Float, nullable=True),
              Column("vFO (pfx)", Float, nullable=True),
              Column("FB", Float, nullable=True),
              Column("1B", Float, nullable=True),
              Column("ISO", Float, nullable=True),
              Column("WPA/LI", Float, nullable=True),
              Column("SL-Z (pi)", Float, nullable=True),
              Column("FC-X (pi)", Float, nullable=True),
              Column("wSI (pi)", Float, nullable=True),
              Column("CU-Z (pfx)", Float, nullable=True),
              Column("XX-X (pi)", Float, nullable=True),
              Column("Contact (pfx)", Float, nullable=True),
              Column("CTv", Float, nullable=True),
              Column("PO", Float, nullable=True),
              Column("wOBA", Float, nullable=True),
              Column("wFB", Float, nullable=True),
              Column("CH-X (pi)", Float, nullable=True),
              Column("BB", Float, nullable=True),
              Column("Pitches", Float, nullable=True),
              Column("vXX (pi)", Float, nullable=True),
              Column("RE24", Float, nullable=True),
              Column("wKN/C (pi)", Float, nullable=True),
              Column("wSL/C (pi)", Float, nullable=True),
              Column("SC-Z (pfx)", Float, nullable=True),
              Column("FB (Pitch)", Float, nullable=True),
              Column("KN-X (pi)", Float, nullable=True),
              Column("WPA", Float, nullable=True),
              Column("CU-X (pfx)", Float, nullable=True),
              Column("wFS (pi)", Float, nullable=True),
              Column("FA-X (pfx)", Float, nullable=True),
              Column("Balls", Float, nullable=True),
              Column("Swing (pi)", Float, nullable=True),
              Column("FBv", Float, nullable=True),
              Column("KC-Z (pfx)", Float, nullable=True),
              Column("Z-Swing (pi)", Float, nullable=True),
              Column("XX (pi)", Float, nullable=True),
              Column("wFA (pfx)", Float, nullable=True),
              Column("wCT/C", Float, nullable=True),
              Column("R", Float, nullable=True),
              Column("CS", Float, nullable=True),
              Column("O-Swing", Float, nullable=True),
              Column("Fld", Float, nullable=True),
              Column("OBP", Float, nullable=True),
              Column("wXX/C (pi)", Float, nullable=True),
              Column("GDP", Float, nullable=True),
              Column("-WPA", Float, nullable=True),
              Column("wFA (pi)", Float, nullable=True),
              Column("FC-X (pfx)", Float, nullable=True),
              Column("wFO/C (pfx)", Float, nullable=True),
              Column("CT", Float, nullable=True),
              Column("vFC (pi)", Float, nullable=True),
              Column("SH", Float, nullable=True),
              Column("SO", Float, nullable=True),
              Column("Cent", Float, nullable=True),
              Column("wEP (pfx)", Float, nullable=True),
              Column("wSL/C", Float, nullable=True),
              Column("O-Swing (pi)", Float, nullable=True),
              Column("SB", Float, nullable=True),
              Column("CS-Z (pi)", Float, nullable=True),
              Column("SL (pfx)", Float, nullable=True),
              Column("SF", Float, nullable=True),
              Column("O-Contact (pi)", Float, nullable=True),
              Column("Zone (pi)", Float, nullable=True),
              Column("Lg", Float, nullable=True),
              Column("vSB (pi)", Float, nullable=True),
              Column("IBB", Float, nullable=True),
              Column("BsR", Float, nullable=True),
              Column("SI (pi)", Float, nullable=True),
              Column("vFS (pfx)", Float, nullable=True),
              Column("FO-X (pfx)", Float, nullable=True),
              Column("XX-Z (pi)", Float, nullable=True),
              Column("FT-X (pfx)", Float, nullable=True),
              Column("wSB (pi)", Float, nullable=True),
              Column("vKC (pfx)", Float, nullable=True),
              Column("FC (pfx)", Float, nullable=True),
              Column("LD", Float, nullable=True),
              Column("UBR", Float, nullable=True),
              Column("wFT/C (pfx)", Float, nullable=True),
              Column("Zone (pfx)", Float, nullable=True),
              Column("wSL/C (pfx)", Float, nullable=True),
              Column("wKC/C (pfx)", Float, nullable=True),
              Column("IFFB", Float, nullable=True),
              Column("Z-Contact (pi)", Float, nullable=True),
              Column("SL", Float, nullable=True),
              Column("CU (pfx)", Float, nullable=True),
              Column("IFH", Float, nullable=True),
              Column("O-Contact (pfx)", Float, nullable=True),
              Column("vCU (pfx)", Float, nullable=True),
              Column("wCU/C (pfx)", Float, nullable=True),
              Column("AB", Float, nullable=True),
              Column("Off", Float, nullable=True),
              Column("Dol", String(512), nullable=True),
              Column("Pace (pi)", Float, nullable=True),
              Column("vFS (pi)", Float, nullable=True),
              Column("wSC (pfx)", Float, nullable=True),
              Column("Z-Swing", Float, nullable=True),
              Column("O-Contact", Float, nullable=True),
              Column("CH-Z (pfx)", Float, nullable=True),
              Column("RBI", Float, nullable=True),
              Column("SB-X (pi)", Float, nullable=True),
              Column("FT-Z (pfx)", Float, nullable=True),
              Column("SLG", Float, nullable=True),
              Column("vSI (pfx)", Float, nullable=True),
              Column("Z-Contact", Float, nullable=True),
              Column("CU (pi)", Float, nullable=True),
              Column("AVG", Float, nullable=True),
              Column("Contact", Float, nullable=True),
              Column("wRAA", Float, nullable=True),
              Column("SLv", Float, nullable=True),
              Column("SI (pfx)", Float, nullable=True),
              Column("Pos", Float, nullable=True),
              Column("vCH (pi)", Float, nullable=True),
              Column("wFO (pfx)", Float, nullable=True),
              Column("+WPA", Float, nullable=True),
              Column("vCH (pfx)", Float, nullable=True),
              Column("KN-Z (pi)", Float, nullable=True),
              Column("Contact (pi)", Float, nullable=True),
              Column("KN-Z (pfx)", Float, nullable=True)])
  
      meta.create_all(engine)
  
      return engine
  
  
  def initdb_teambatting(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=engine)
  
      table_teambatting = Table(db_tablename, meta,
          *[
              Column("Team", String(512), nullable=True),
              Column("Season", Float, nullable=True),
              Column("SLG", Float, nullable=True),
              Column("Off", Float, nullable=True),
              Column("PA", Float, nullable=True),
              Column("G", Float, nullable=True),
              Column("wOBA", Float, nullable=True),
              Column("HR", Float, nullable=True),
              Column("BB", Float, nullable=True),
              Column("BsR", Float, nullable=True),
              Column("WAR", Float, nullable=True),
              Column("BABIP", Float, nullable=True),
              Column("K", Float, nullable=True),
              Column("R", Float, nullable=True),
              Column("ISO", Float, nullable=True),
              Column("Def", Float, nullable=True),
              Column("RBI", Float, nullable=True),
              Column("SB", Float, nullable=True),
              Column("AVG", Float, nullable=True),
              Column("wRC+", Float, nullable=True),
              Column("OBP", Float, nullable=True)])
  
      meta.create_all(engine)
  
      return engine
  
  
  def initdb_teampitching(db_username, db_password, db_hostname, db_name, db_tablename):
      db_password = ":" + db_password
      engine = create_engine("mysql+mysqldb://" + db_username + db_password + "@" + db_hostname + "/" + db_name)
      meta = MetaData(bind=engine)
  
      table_teampitching = Table(db_tablename, meta,
          *[
              Column("Team", String(512), nullable=True),
              Column("Season", Float, nullable=True),
              Column("SLG", Float, nullable=True),
              Column("Off", Float, nullable=True),
              Column("PA", Float, nullable=True),
              Column("G", Float, nullable=True),
              Column("wOBA", Float, nullable=True),
              Column("HR", Float, nullable=True),
              Column("BB", Float, nullable=True),
              Column("BsR", Float, nullable=True),
              Column("WAR", Float, nullable=True),
              Column("BABIP", Float, nullable=True),
              Column("K", Float, nullable=True),
              Column("R", Float, nullable=True),
              Column("ISO", Float, nullable=True),
              Column("Def", Float, nullable=True),
              Column("RBI", Float, nullable=True),
              Column("SB", Float, nullable=True),
              Column("AVG", Float, nullable=True),
              Column("wRC+", Float, nullable=True),
              Column("OBP", Float, nullable=True)])
  
      meta.create_all(engine)
  
      return engine