python-mysqlHow do I bulk insert data into a MySQL database using Python?
The following example demonstrates how to bulk insert data into a MySQL database using Python.
import mysql.connector
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 record inserted.
The code consists of the following parts:
- Importing the mysql.connector module.
- Connecting to the database.
- Creating a cursor object.
- Creating a SQL query.
- Creating a list of values to be inserted.
- Executing the query.
- Committing the changes to the database.
- Printing the number of rows affected.
Helpful links
More of Python Mysql
- How do I connect Python with MySQL using XAMPP?
- How can I create a web application using Python and MySQL?
- How can I use Python and MySQL to generate a PDF?
- ¿Cómo conectar Python a MySQL usando ejemplos?
- How can I connect Python to a MySQL database?
- How do I use Python to authenticate MySQL on Windows?
- How do Python MySQL and SQLite compare in terms of performance and scalability?
- How can I use Python to interact with a MySQL database?
- How do Python and MySQL compare to MariaDB?
- How can I set a timeout for a MySQL connection in Python?
See more codes...