📜  python mysql executemany - SQL (1)

📅  最后修改于: 2023-12-03 15:18:56.682000             🧑  作者: Mango

Python MySQL executemany - SQL

在Python中,我们可以使用MySQL驱动程序来连接MySQL数据库并执行SQL语句。executemany() 是Python MySQL驱动程序中的一个方法,它可以一次执行多个SQL语句。

使用executemany()方法

executemany()方法接受两个参数,第一个参数是SQL查询语句,第二个参数是一个列表,列表中包含要执行查询语句的参数。以下是一个例子:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="mydatabase"
)

mycursor = mydb.cursor()

sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('Peter', 'Lowstreet 4'),
  ('Amy', 'Apple st 652'),
  ('Hannah', 'Mountain 21'),
  ('Michael', 'Valley 345'),
  ('Sandy', 'Ocean blvd 2'),
  ('Betty', 'Green Grass 1'),
  ('Richard', 'Sky st 331'),
  ('Susan', 'One way 98'),
  ('Vicky', 'Yellow Garden 2'),
  ('Ben', 'Park Lane 38'),
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]

mycursor.executemany(sql, val)

mydb.commit()

print(mycursor.rowcount, "was inserted.")

在上面的例子中,我们将一些客户数据插入到数据库中,使用的方法是executemany()。我们建立了一个名为customers的数据库表,该表包含了两个字段nameaddress。我们定义了一个sql语句来插入数据,并将数据存储在一个包含了多个元组的列表中。最后,我们使用executemany()方法将该列表中的数据插入到数据库中。

注意事项
  • 执行查询语句时,应该确保传入的参数与 SQL 查询语句中的占位符一一对应。
  • executemany()方法在执行多个 SQL 语句时非常有用,它避免了多次重复连接到数据库的开销。
  • 在执行一次executemany()调用时,可以在多个 SQL 语句中使用不同的参数。因此,我们可以一次性执行多个 SQL 语句而不必多次执行execute()方法。
总结

通过使用executemany()方法,我们可以在 Python 代码中非常方便的一次性向数据库中插入多行数据,节省了往返于数据库和应用程序之间的时间和资源,提高了程序的效率和性能。