Update Table | Mise à jour de données avec Python – PostgreSQL
Dans ce tutoriel nous allons découvrir comment modifier des données dans une table PostgreSQL avec Python.
Avant d’exécuter les programmes Python suivants, assurez-vous de connaître le nom de la table PostgreSQL et les détails de colonne dans lesquels vous souhaitez modifier des données.
Pour ce tutoriel, nous allons utiliser la table « person » présente dans notre base de données PostgreSQL.
Si aucune table n’est présente dans votre base de données PostgreSQL, veuillez créer une table PostgreSQL et insérer des données dans la table PostgreSQL avec Python.
Les étapes pour mettre à jour des données avec Python
Pour l’instant, la table ‘person’ contient cinq lignes, alors modifions l’adresse d’un personne dont l’ID est 1. Pour exécuter la requête UPDATE à partir de Python, vous devez suivre les étapes suivantes :
- Établissez une connexion PostgreSQL avec Python.
- Ensuite, créez un objet curseur à l’aide de l’objet de connexion.
- Ensuite, définissez la requête UPDATE. Ici, vous devez connaître la table et le nom de la colonne que vous souhaitez mettre à jour.
- Exécutez la requête UPDATE à l’aide de curseur.execute()
- Après l’exécution réussie de la requête UPDATE, n’oubliez pas de valider vos modifications dans la base de données.
- Fermez la connexion à la base de données.
- Capturer toutes les exceptions PostgreSQL qui peuvent survenir au cours du processus.
- Enfin, vérifiez le résultat en sélectionnant les données d’une table PostgreSQL dans Python.
Exemple 1: Mettre à jour un seul enregistrement de la table ‘person’
import psycopg2 try: conn = psycopg2.connect( user = "postgres", password = "admin", host = "localhost", port = "5432", database = "my_db" ) cur = conn.cursor() sql = "UPDATE person SET address = 'Paris' WHERE id = 1" cur.execute(sql) conn.commit() count = cur.rowcount print(count, "Enregistrement mis à jour avec succès") #fermeture de la connexion à la base de données cur.close() conn.close() print("La connexion PostgreSQL est fermée") except (Exception, psycopg2.Error) as error : print ("Erreur lors du mis à jour de la table person", error)
Sortie:
1 Enregistrement mis à jour avec succès La connexion PostgreSQL est fermée
Exemple 2: Utiliser des variables Python comme paramètres dans une requête Update
Parfois, nous devons mettre à jour une table avec des valeurs lors de l’exécution du programme. Par exemple, lorsque les utilisateurs mettent à jour leur profil ou tout autre détail via l’interface utilisateur dans de tels cas, nous devons mettre à jour la table avec ces nouvelles valeurs.
Il est toujours recommandé d’utiliser une requête paramétrée. La requête paramétrée utilise l’opérateur (%s) À l’intérieur de l’instruction SQL qui contiennent les entrées de l’utilisateur. Il nous aide à mettre à jour les valeurs au moment de l’exécution et à éviter les problèmes d’injection SQL.
Regardons maintenant l’exemple:
import psycopg2 try: conn = psycopg2.connect( user = "postgres", password = "admin", host = "localhost", port = "5432", database = "my_db" ) cur = conn.cursor() sql = "UPDATE person SET address = %s WHERE id = %s" value = ('Nantes', 1) cur.execute(sql, value) conn.commit() count = cur.rowcount print(count, "Enregistrement mis à jour avec succès") #fermeture de la connexion à la base de données cur.close() conn.close() print("La connexion PostgreSQL est fermée") except (Exception, psycopg2.Error) as error : print ("Erreur lors du mis à jour de la table person", error)
Sortie:
1 Enregistrement mis à jour avec succès La connexion PostgreSQL est fermée
Superbe présentation !!!! Merci