If you could insert knowledge right into a MySQL desk utilizing Python, then look no additional.
If you could first study in regards to the mysql.connector
and get this up and operating, first check out the Methods to Set up MySQL Driver in Python put up earlier than persevering with.
How do Insert right into a MySQL Desk in Python
import mysql.connector
mydb = mysql.connector.join(
host = "localhost",
consumer = "username",
password = "YoUrPaSsWoRd",
database = "your_database"
)
mycursor = mydb.cursor()
sql = "INSERT INTO prospects (identify, handle) VALUES (%s, %s)"
val = ("Andrew", "Someplace good")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "document efficiently inserted")
This can insert a single row into the MySQL desk.
Notice the significance of the .commit()
as soon as we now have executed our SQL assertion. That is to persist it to the database.
If you could insert a number of rows on the identical time, then we now have a greater choice for you.
Methods to Insert A number of rows into MysQL utilizing Python
import mysql.connector
mydb = mysql.connector.join(
host = "localhost",
consumer = "username",
password = "YoUrPaSsWoRd",
database = "your_database"
)
mycursor = mydb.cursor()
sql = "INSERT INTO prospects (identify, handle) VALUES (%s, %s)"
val = [
('Jack', 'New York'),
('Mary', 'Vancouver'),
('Peter', 'Cairo'),
('Sarah', 'Faro'),
('Stuart', 'London'),
('Hayley', 'Dubai')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was efficiently inserted")
Utilizing this system, we are able to insert a number of rows in the identical question. This reduces the quantity of connections to the database and quickens commit time.
Talking of commit, notice that we all the time name the .commit()
as soon as we’re performed.
Methods to get the Final Inserted ID from MySQL in Python
Typically it would be best to get the final row ID, also called the row that you just simply inserted’s ID.
That is usually performed by creating an id
column and assigning an auto_increment
to the column.
This fashion incremental id numerals shall be assigned to every row on row creation by default.
import mysql.connector
mydb = mysql.connector.join(
host = "localhost",
consumer = "username",
password = "YoUrPaSsWoRd",
database = "your_database"
)
mycursor = mydb.cursor()
sql = "INSERT INTO prospects (identify, handle) VALUES (%s, %s)"
val = ("Brad", "Los Angeles")
mycursor.execute(sql, val)
mydb.commit()
print("1 document inserted, ID:", mycursor.lastrowid)
As soon as once more, we shut off through the use of the .commit()
after which name the mycursor.lastrowid
which accommodates the worth of the final inserted row’s id
.