sql >> Databáze >  >> RDS >> Mysql

SQL vícenásobné vložení s Pythonem

Musíte zadat executemany() seznam řádků. Nemusíte rozdělovat jméno a e-mail do samostatných seznamů, stačí vytvořit jeden seznam s oběma hodnotami v něm.

rows = []

for row in range(sheet.nrows):
    """name is in the 0th col. email is the 4th col."""
    name = sheet.cell(row, 0).value  
    email =  sheet.cell(row, 4).value
    rows.append((name, email))

db = MySQLdb.connect(host=host, user=user, db=dbname, passwd=pwd)
cursor = db.cursor()
cursor.executemany("""INSERT INTO mailing_list (name,email) VALUES (%s,%s)""", rows)

Aktualizace:jak zmiňuje @JonClements, mělo by to být executemany() ne execute() .



  1. Jak nahradit regulární výraz v MySQL?

  2. Povolte Pythonu připojení k MySQL prostřednictvím SSH tunelování

  3. Efektivní náhrady ISNUMERIC() na SQL Server?

  4. PostgreSQL 11 - Procedury