SELECT FROM avec Python – PostgreSQL
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