Python MySQL Insérer dans la table
Insérer dans le tableau
Pour remplir une table dans MySQL, utilisez l'instruction "INSERT INTO".
Exemple
Insérez un enregistrement dans la table "clients" :
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
Important ! : Notez la déclaration :
mydb.commit()
. Il est nécessaire d'apporter les modifications, sinon aucune modification n'est apportée à la table.
Insérer plusieurs lignes
Pour insérer plusieurs lignes dans un tableau, utilisez la
executemany()
méthode.
Le deuxième paramètre de la executemany()
méthode est une liste de tuples, contenant les données que vous souhaitez insérer :
Exemple
Remplissez la table "clients" avec les données :
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
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.")
Obtenir l'ID inséré
Vous pouvez obtenir l'identifiant de la ligne que vous venez d'insérer en demandant à l'objet curseur.
Remarque : Si vous insérez plusieurs lignes, l'ID de la dernière ligne insérée est renvoyé.
Exemple
Insérez une ligne et renvoyez l'ID :
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 record
inserted, ID:", mycursor.lastrowid)