Exercice 10
1. Créez une base de données database.db et une table products avec les colonnes : id, name, category, price.
2. Insérez 6 produits appartenant à différentes categories de deux façons différentes : l'une en utilisant la commande executmany et l'autre en utilisant simplement la boucle for et la commande execute:
1 2 3 4 5 6 7 8 |
products = [ ("Laptop", "Electronics", 800), ("Smartphone", "Electronics", 600), ("Table", "Furniture", 120), ("Chair", "Furniture", 80), ("Notebook", "Stationery", 5), ("Pen", "Stationery", 1.5) ] |
3. Affichez tous les produits appartenant à la catégorie Electronics.
4. Supprimez un produit en fonction de son id (à titre d'exemple id = 3).
Solution
Question1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import sqlite3 # créer une connection conn = sqlite3.connect("database.db") cursor = conn.cursor() # requête de création de la table products req = """CREATE TABLE IF NOT EXISTS products( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, category TEXT NOT NULL, price REAL NOT NULL);""" # Execution de la requête cursor.execute(req) # Envoyer les changements conn.commit() # Fermer la connection conn.close() |
Question2 1 ère méthode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import sqlite3 # créer une connection conn = sqlite3.connect("database.db") cursor = conn.cursor() data_products = products = [ ("Laptop", "Electronics", 800), ("Smartphone", "Electronics", 600), ("Table", "Furniture", 120), ("Chair", "Furniture", 80), ("Notebook", "Stationery", 5), ("Pen", "Stationery", 1.5) ] req = """INSERT INTO products (name, category, price) VALUES (?, ?, ?)""" # Executer la requête cursor.executemany(req , data_products) # Envoyer les changements conn.commit() # Fermer la connection conn.close() |
Question2 2ème méthode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import sqlite3 # créer une connection conn = sqlite3.connect("database.db") cursor = conn.cursor() data_products = products = [ ("Laptop", "Electronics", 800), ("Smartphone", "Electronics", 600), ("Table", "Furniture", 120), ("Chair", "Furniture", 80), ("Notebook", "Stationery", 5), ("Pen", "Stationery", 1.5) ] for product in data_products: # requête d'insertion des données req = """INSERT INTO products (name, category, price) VALUES (?, ?, ?)""" # Executer la requête cursor.execute(req, (product[0], product[1], product[2],)) # Envoyer les changements conn.commit() # Fermer la connection conn.close() |
Question3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import sqlite3 # créer une connection conn = sqlite3.connect("database.db") cursor = conn.cursor() category = "Electronics" # requête de sélection req = """SELECT * FROM products WHERE category = ?""" # Executer la requête cursor.execute(req, (category,)) data = cursor.fetchall() # Afficher les données for row in data: print("product_name : ", row[1]) print("category : ", row[2]) print("Price : ", row[3]) print("\n") """ Output: product_name : Laptop category : Electronics Price : 800.0 product_name : Smartphone category : Electronics Price : 600.0 """ |
Question4:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import sqlite3 # créer une connection conn = sqlite3.connect("database.db") cursor = conn.cursor() # création de la requête de suppression req = """DELETE FROM products WHERE id = ?""" # Exécuter la requête cursor.execute(req,(3,)) # Envoyer les changements conn.commit() conn.close() |
Younes Derfoufi CRMEF OUJDA