Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Suppression de la Base de Données | SQLAlchemy
Bases de Données en Python

bookSuppression de la Base de Données

Dans ce chapitre, nous allons examiner comment supprimer des enregistrements d'une base de données à l'aide de SQLAlchemy. La suppression d'enregistrements est essentielle lors de la gestion des données, notamment pour retirer des entrées obsolètes ou inutiles. SQLAlchemy propose des outils simples mais puissants pour gérer les suppressions, que ce soit pour des opérations unitaires ou en masse.

Suppression d’un enregistrement unique par ID

La méthode la plus courante pour supprimer un enregistrement consiste à l’identifier à l’aide d’un critère spécifique, tel que son ID. Voici comment supprimer un produit en utilisant son ID.

product = session.query(Product).filter(Product.id == 1).first()

# Check if the product exists
if product:
    # Delete the product
    session.delete(product)
    session.commit()

Ce code récupère un produit avec l’ID 1, vérifie son existence, le marque pour suppression avec session.delete(product), puis applique la modification avec session.commit().

Suppression de plusieurs enregistrements

Il est parfois nécessaire de supprimer plusieurs enregistrements à la fois selon certaines conditions. Cette opération est utile, par exemple, pour retirer des articles en rupture de stock ou des produits en dessous d’un certain seuil de prix.

session.query(Product).filter(Product.is_in_stock == False).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

La requête filtre les produits en rupture de stock, les supprime à l’aide de .delete(synchronize_session="fetch"), et garantit la synchronisation de la session avec la base de données.

Suppressions en masse

Pour les grands ensembles de données, les suppressions en masse sont efficaces. Cette méthode modifie directement les enregistrements dans la base de données sans les charger en mémoire, ce qui permet d’économiser du temps et des ressources.

session.query(Product).filter(Product.price < 100).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Cet exemple filtre les produits dont le prix est inférieur à $100 et les supprime à l’aide de la méthode .delete(), offrant ainsi une solution rapide et efficace pour les grandes tables.

Suppression de tous les enregistrements d’une table

Dans certains cas, il est nécessaire de vider complètement une table. SQLAlchemy le permet facilement avec une seule requête.

session.query(Product).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

La méthode .delete(synchronize_session="fetch") supprime tous les enregistrements de la table Product, ce qui est utile pour réinitialiser les données ou nettoyer des environnements de test.

Tâche

Swipe to start coding

Votre tâche consiste à compléter le code en écrivant exactement les lignes nécessaires pour supprimer le produit nommé "Headphones" de la base de données.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain what `synchronize_session="fetch"` does in these examples?

What happens if I try to delete a record that doesn't exist?

Are there any risks or best practices to consider when performing bulk deletions?

close

Awesome!

Completion rate improved to 4.76

bookSuppression de la Base de Données

Glissez pour afficher le menu

Dans ce chapitre, nous allons examiner comment supprimer des enregistrements d'une base de données à l'aide de SQLAlchemy. La suppression d'enregistrements est essentielle lors de la gestion des données, notamment pour retirer des entrées obsolètes ou inutiles. SQLAlchemy propose des outils simples mais puissants pour gérer les suppressions, que ce soit pour des opérations unitaires ou en masse.

Suppression d’un enregistrement unique par ID

La méthode la plus courante pour supprimer un enregistrement consiste à l’identifier à l’aide d’un critère spécifique, tel que son ID. Voici comment supprimer un produit en utilisant son ID.

product = session.query(Product).filter(Product.id == 1).first()

# Check if the product exists
if product:
    # Delete the product
    session.delete(product)
    session.commit()

Ce code récupère un produit avec l’ID 1, vérifie son existence, le marque pour suppression avec session.delete(product), puis applique la modification avec session.commit().

Suppression de plusieurs enregistrements

Il est parfois nécessaire de supprimer plusieurs enregistrements à la fois selon certaines conditions. Cette opération est utile, par exemple, pour retirer des articles en rupture de stock ou des produits en dessous d’un certain seuil de prix.

session.query(Product).filter(Product.is_in_stock == False).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

La requête filtre les produits en rupture de stock, les supprime à l’aide de .delete(synchronize_session="fetch"), et garantit la synchronisation de la session avec la base de données.

Suppressions en masse

Pour les grands ensembles de données, les suppressions en masse sont efficaces. Cette méthode modifie directement les enregistrements dans la base de données sans les charger en mémoire, ce qui permet d’économiser du temps et des ressources.

session.query(Product).filter(Product.price < 100).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

Cet exemple filtre les produits dont le prix est inférieur à $100 et les supprime à l’aide de la méthode .delete(), offrant ainsi une solution rapide et efficace pour les grandes tables.

Suppression de tous les enregistrements d’une table

Dans certains cas, il est nécessaire de vider complètement une table. SQLAlchemy le permet facilement avec une seule requête.

session.query(Product).delete(synchronize_session="fetch")

# Commit the changes
session.commit()

La méthode .delete(synchronize_session="fetch") supprime tous les enregistrements de la table Product, ce qui est utile pour réinitialiser les données ou nettoyer des environnements de test.

Tâche

Swipe to start coding

Votre tâche consiste à compléter le code en écrivant exactement les lignes nécessaires pour supprimer le produit nommé "Headphones" de la base de données.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8
single

single

some-alt