En programmation, une transaction est une séquence d'opérations logiques exécutées comme une seule unité de travail. Si toutes les opérations réussissent, la transaction est validée (ou « validée »). Si une erreur se produit dans l'une des opérations, la transaction sera annulée et l'état de la base de données sera restauré à l'état avant le début de la transaction.

Les transactions constituent un élément fondamental de toute application de base de données, car elles contribuent à garantir l'intégrité des données. En Python, nous pouvons gérer les transactions à l'aide du module `sqlite3`, qui fournit une interface avec la base de données SQLite.

Démarrer une transaction

Pour démarrer une transaction, nous devons d'abord établir une connexion à la base de données. Cela peut être fait en utilisant la méthode `connect()` du module `sqlite3`.

importer sqlite3 # Établir une connexion à la base de données. conn = sqlite3.connect('ma_base de données.db')

Une fois la connexion établie, nous pouvons démarrer une transaction en utilisant la méthode `cursor()` pour obtenir un objet curseur, que nous pouvons utiliser pour exécuter des commandes SQL.

Exécuter des opérations

Nous pouvons effectuer des opérations dans une transaction en utilisant la méthode `execute()` de l'objet curseur. Par exemple, nous pouvons insérer un nouvel enregistrement dans une table en utilisant le code suivant :

# Créez un objet curseur. curseur = conn.curseur() # Insérez un nouvel enregistrement. curseur.execute("INSÉRER DANS ma_table VALEURS (?, ?, ?)", (valeur1, valeur2, valeur3))

Si nous voulons exécuter plusieurs opérations dans le cadre d'une seule transaction, nous pouvons le faire en exécutant plusieurs instructions `execute()` avant de valider la transaction.

Commettre ou annuler une transaction

Une fois que toutes les opérations ont été effectuées avec succès, nous pouvons valider la transaction en utilisant la méthode `commit()` de la connexion. Cela enregistrera toutes les modifications apportées à la base de données.

# Validez la transaction. conn.commit()

Si une erreur se produit dans l'une des opérations, nous pouvons annuler la transaction en utilisant la méthode `rollback()` de la connexion. Cela annule toutes les modifications apportées depuis le début de la transaction.

# Annulez la transaction. conn.rollback()

Fermer la connexion

Après avoir terminé une transaction, nous devons toujours fermer la connexion à la base de données en utilisant la méthode `close()` de la connexion. Cela libère toutes les ressources utilisées par la connexion.

# Fermez la connexion. conn.close()

La gestion des transactions est une partie essentielle du travail avec des bases de données en Python. En utilisant des transactions, nous pouvons garantir que nos applications sont robustes et que nos données restent cohérentes même lorsque des erreurs se produisent.

En résumé, l'intégration de Python avec les bases de données et la gestion des transactions sont essentielles pour garantir la cohérence et l'intégrité des données. Grâce au module `sqlite3`, Python offre une interface intuitive et efficace pour gérer les transactions de base de données.

Répondez maintenant à l’exercice sur le contenu :

Dans le contexte de la programmation Python et de la manipulation de bases de données, quelle est la séquence d’opérations correcte pour effectuer une transaction ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Intégration de base de données Python : migrations de bases de données

Page suivante de lebook gratuit :

155Intégration de base de données Python : migrations de bases de données

4 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte