SELECT FROM | Sélectionner des données avec Python – SQLite
Dans ce tutoriel nous allons découvrir comment sélectionner des données dans une table SQLite avec Python.
Avant d’exécuter les programmes Python suivants, assurez-vous de connaître le nom de la table SQLite 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 SQLite.
Si aucune table n’est présente dans votre base de données SQLite, veuillez créer une table SQLite et insérer des données dans la table SQLite 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 SQLite 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 SQLite qui peuvent survenir au cours du processus.
Exemple 1: Sélectionner toutes les lignes de la table ‘person’
# -*- coding: utf-8 -*- import sqlite3 try: conn = sqlite3.connect('my.db') cur = conn.cursor() print("Connexion réussie à SQLite") sql = "SELECT * FROM person" cur.execute(sql) res = cur.fetchall() for row in res: print("Id: ", row[0]) print("Name: ", row[1]) print("Address: ", row[2]) print("\n") cur.close() conn.close() print("Connexion SQLite est fermée") except sqlite3.Error as error: print("Erreur lors du sélection à partir de la table person", error)
Sortie:
Connexion réussie à SQLite Id: 1 Name: Alex Address: New York Id: 2 Name: Thomas Address: Paris Id: 3 Name: Yohan Address: San Francisco Id: 4 Name: Nicolas Address: Lille Id: 5 Name: Emily Address: Nantes Connexion SQLite 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 (?) est utilisés pour les paramètres et les valeurs des paramètres fournis au moment de l’exécution.
Regardons un exemple:
# -*- coding: utf-8 -*- import sqlite3 try: conn = sqlite3.connect('my.db') cur = conn.cursor() print("Connexion réussie à SQLite") sql = "SELECT * FROM person WHERE id = ?" 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]) print("\n") cur.close() conn.close() print("Connexion SQLite est fermée") except sqlite3.Error as error: print("Erreur lors du sélection à partir de la table person", error)
Sortie:
Connexion réussie à SQLite Id: 1 Name: Alex Address: New York Connexion SQLite est fermée