Update Table | Mise à jour de données avec Python – MySQL

La mise à jour des données est l’une des tâches les plus importantes lorsque vous travaillez avec une base de données. Dans ce tutoriel, nous allons découvrir comment utiliser l’instruction MySQL UPDATE avec Python pour mettre à jour les données d’une table.

L’instruction UPDATE modifie les données existantes dans une table.
 
 

Exemple:

L’exemple suivant modifie la colonne « name » de la table « person » de ‘Alex’ à ‘Alexander’

# -*- coding: utf-8 -*-
import mysql.connector

#connexion au base de données
db = mysql.connector.connect(
  host = "localhost",
  user = "root",
  password = "",
  database = "my_db"
)

#créer un curseur de base de données pour effectuer des opérations SQL
cur = db.cursor()

sql = "UPDATE person SET name = 'Alexander' WHERE name = 'Alex'"

#exécuter le curseur avec la méthode execute() et transmis la requête SQL
cur.execute(sql)

#valider la transaction
db.commit()

#afficher le nombre de lignes modifiées
print(cur.rowcount, " lignes modifiées")

Sortie:

2 lignes modifiées

 

Empêcher l’injection SQL

Lorsque des valeurs de requête sont fournies par l’utilisateur, vous devez échapper les valeurs.

Il s’agit d’empêcher les injections SQL, qui est une technique de piratage Web courante pour détruire ou abuser votre base de données.

Le module mysql.connector a des méthodes pour échapper aux valeurs de requête.
 
 
Dans l’exemple suivant nous allons échapper les valeurs de requête à l’aide de l’opérateur %s:

# -*- coding: utf-8 -*-
import mysql.connector

#connexion au base de données
db = mysql.connector.connect(
  host = "localhost",
  user = "root",
  password = "",
  database = "my_db"
)

#créer un curseur de base de données pour effectuer des opérations SQL
cur = db.cursor()

sql = "UPDATE person SET name = %s WHERE name = %s"
value = ("Alexander", "Alex")
#exécuter le curseur avec la méthode execute() et transmis la requête SQL
cur.execute(sql, value)

#valider la transaction
db.commit()

#afficher le nombre de lignes modifiées
print(cur.rowcount, " lignes modifiées")

Sortie:

2 lignes modifiées

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.