sql >> Database >  >> RDS >> Mysql

SQL meerdere inserts met Python

Je moet executemany() geven een lijst met rijen. U hoeft de naam en e-mail niet in afzonderlijke lijsten op te splitsen, maar maak gewoon één lijst met beide waarden erin.

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)

Update:zoals @JonClements vermeldt, zou het executemany() moeten zijn niet execute() .



  1. Hoe geef ik een lijst met ID's door aan de MySQL-opgeslagen procedure?

  2. Converteer Datetime-kolom van UTC naar lokale tijd in select-statement

  3. De eenvoudige handleiding voor het gebruik van subquery's in SQL Server

  4. Hoe de MySQL-opgeslagen procedure in Python aan te roepen?