SELECT FROM avec Python – PostgreSQL

image_pdfimage_print

Dans ce tutoriel nous allons découvrir comment sélectionner 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 sélectionner 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 sélectionner des données avec Python

Pour exécuter l’opération SELECT avec Python, vous devez suivre les étapes suivantes :

  • Établissez une connexion PostgreSQL avec Python.
  • Définissez la requête SELECT. Ici, vous devez connaître la table et les détails de colonne.
  • Exécutez la requête SELECT à l’aide de la méthode curseur.execute().
  • Récupère les lignes de l’objet curseur à l’aide de curseur.fetchall()
  • Itérer sur les lignes et obtenir chaque ligne et sa valeur de colonne.
  • Fermez la connexion à la base de données.
  • Capturer toutes les exceptions PostgreSQL qui peuvent survenir au cours du processus.

 
 

Exemple 1: Sélectionner toutes les lignes 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 = "SELECT * FROM person"

    cur.execute(sql)
    print("Sélectionner des lignes dans la table person")
    res = cur.fetchall() 
   
    for row in res:
        print("Id = ", row[0], )
        print("Name = ", row[1])
        print("Address  = ", row[2], "\n")
	
    #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 sélection à partir de la table person", error)

Sortie:

Sélectionner des lignes dans la table person
Id =  1
Name =  Alex
Address  =  Paris

Id =  2
Name =  Thomas
Address  =  Lille

Id =  3
Name =  Yohan
Address  =  Nantes

La connexion PostgreSQL est fermée

 
 

Exemple 2: Utiliser des variables Python comme paramètres dans une requête Select

Parfois, nous devons passer une variable à une requête Select dans la clause WHERE pour vérifier une condition.

Supposons qu’une application veuille récupérer les détails d’un personne en donnant n’importe quel ID au moment de l’exécution. Pour cela, nous devons utiliser une requête paramétrée. Une requête paramétrée est une requête dans laquelle l’opérateur (%s) est utilisés pour les paramètres et les valeurs des paramètres fournis au moment de l’exécution.

Regardons un exemple:

import psycopg2

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

    sql = "SELECT * FROM person WHERE id = %s"

    id = 1
    cur.execute(sql, (id,))

    res = cur.fetchall() 
   
    for row in res:
        print("Id = ", row[0], )
        print("Name = ", row[1])
        print("Address  = ", row[2], "\n")
	
    #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 sélection à partir de la table person", error)

Sortie:

Id =  1
Name =  Alex
Address  =  Paris

La connexion PostgreSQL est fermée

 

Partagez cet article

Laisser un commentaire

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