Insérer des données dans une table PostgreSQL avec Python

image_pdfimage_print

Dans ce tutoriel nous allons découvrir comment insérer 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 insérer 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 avec Python.
 
 

Exemple :

Pour l’instant, la table « person » est vide, donc nous allons insérer des données. Pour effectuer la requête INSERT avec Python, vous devez suivre les étapes suivantes:

  • Tout d’abord, établissez une connexion PostgreSQL à partir de Python.
  • Ensuite, créez un objet curseur à l’aide de l’objet de connexion.
  • Ensuite, définissez la requête INSERT. Ici, vous devez connaître la table et les détails de la colonne.
  • Exécutez la requête INSERT à l’aide de curseur.execute()
  • Après l’exécution réussie d’une requête PostgreSQL, n’oubliez pas de valider vos modifications dans la base de données.
  • Fermez la connexion à la base de données PostgreSQL.
  • N’oubliez pas non plus de détecter les exceptions PostgreSQL, le cas échéant.
  • Enfin, vérifiez le résultat en sélectionnant les données de la table PostgreSQL.

Regardons maintenant le programme.

import psycopg2

try:
    conn = psycopg2.connect(
					user = "postgres",
					password = "admin",
					host = "localhost",
					port = "5432",
					database = "my_db"
    )
    cur = conn.cursor()

    sql = """INSERT INTO person (id, name, address) VALUES (%s,%s,%s)"""
    value = (1, 'Alex', 'Paris')
    cur.execute(sql, value)

    conn.commit()
    count = cur.rowcount
    print (count, "enregistrement inséré avec succès dans la table person.")
	
    #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 de l'insertion dans la table person", error)

Sortie:

1 enregistrement inséré avec succès dans la table person.
La connexion PostgreSQL est fermée

Nous avons utilisé une requête paramétrée pour transmettre les valeurs des paramètres au moment de l’exécution. En fin, nous rendons nos modifications persistantes dans la base de données en utilisant la méthode conn.commit().

En utilisant une requête paramétrée, nous pouvons passer des variables python comme paramètre de requête dans lequel nous utilisons l’opérateur (%s) pour les paramètres.
 

Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *