python-mysqlHow can I insert multiple rows into a MySQL database using Python?
To insert multiple rows into a MySQL database using Python, you can use the executemany() method of the MySQLCursor object. This method takes a list of tuples containing the data for each row to be inserted.
For example:
import mysql.connector
# Connect to the database
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
('John', 'Highway 21'),
('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, "record inserted.")
Output example
14 records inserted.
Code explanation
import mysql.connector
- import the MySQL Connector Python modulemydb = mysql.connector.connect(host="localhost", user="yourusername", passwd="yourpassword", database="mydatabase")
- connect to the databasemycursor = mydb.cursor()
- create a cursor objectsql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
- define an SQL queryval = [('John', 'Highway 21'),('Peter', 'Lowstreet 4'),...('Viola', 'Sideway 1633')]
- create a list of tuples containing the data for each row to be insertedmycursor.executemany(sql, val)
- execute the SQL query using the executemany() methodmydb.commit()
- commit the changes to the databaseprint(mycursor.rowcount, "record inserted.")
- print the number of rows inserted
Helpful links
More of Python Mysql
- How can I use Python and MySQL to generate a PDF?
- How can I connect Python to a MySQL database?
- How can I connect Python to a MySQL database using an Xserver?
- How can I connect Python and MySQL?
- How can I retrieve unread results from a MySQL database using Python?
- How can I use Yum to install the MySQLdb Python module?
- How to compile a MySQL-Python application for x86_64-Linux-GNU-GCC?
- How can I use Python to interact with a MySQL database?
- How do I use Python to authenticate MySQL on Windows?
- How can I use the WHERE IN clause in Python to query a MySQL database?
See more codes...