If you want to insert information right into a MySQL desk utilizing Python, then look no additional.
If you want to first be taught in regards to the mysql.connector
and find out how to get this up and working, first check out the Methods to Set up MySQL Driver in Python submit 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 clients (title, tackle) VALUES (%s, %s)"
val = ("Andrew", "Someplace good")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "report efficiently inserted")
This may insert a single row into the MySQL desk.
Word the significance of the .commit()
as soon as we’ve got executed our SQL assertion. That is to persist it to the database.
If you want to insert a number of rows on the identical time, then we’ve got a greater possibility 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 clients (title, tackle) 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 method, we will 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, be aware that we at all times name the .commit()
as soon as we’re completed.
Methods to get the Final Inserted ID from MySQL in Python
Usually you’ll want to get the final row ID, often known as the row that you simply simply inserted’s ID.
That is usually completed by creating an id
column and assigning an auto_increment
to the column.
This fashion incremental id numerals will likely 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 clients (title, tackle) VALUES (%s, %s)"
val = ("Brad", "Los Angeles")
mycursor.execute(sql, val)
mydb.commit()
print("1 report inserted, ID:", mycursor.lastrowid)
As soon as once more, we shut off by utilizing the .commit()
after which name the mycursor.lastrowid
which incorporates the worth of the final inserted row’s id
.