
- Python & MySQL - Home
- Python & MySQL - Overview
- Python & MySQL - Environment Setup
- Python & MySQL Examples
- Python & MySQL - Connect Database
- Python & MySQL - Create Database
- Python & MySQL - Drop Database
- Python & MySQL - Select Database
- Python & MySQL - Create Tables
- Python & MySQL - Drop Tables
- Python & MySQL - Insert Records
- Python & MySQL - Select Records
- Python & MySQL - Update Records
- Python & MySQL - Delete Records
- Python & MySQL - Where Clause
- Python & MySQL - Like Clause
- Python & MySQL - Sorting Data
- Python & MySQL - Using Joins
- Python & MySQL - Performing Transactions
- Python & MySQL - Handling Errors
- Python & MySQL Useful Resources
- Python & MySQL - Quick Guide
- Python & MySQL - Useful Resources
- Python & MySQL - Discussion
Python & MySQL - Performing Transactions
Transactions are a mechanism that ensures data consistency. Transactions have the following four properties −
Atomicity − Either a transaction completes or nothing happens at all.
Consistency − A transaction must start in a consistent state and leave the system in a consistent state.
Isolation − Intermediate results of a transaction are not visible outside the current transaction.
Durability − Once a transaction was committed, the effects are persistent, even after a system failure.
The Python DB API 2.0 provides two methods to either commit or rollback a transaction.
Example
You already know how to implement transactions. Here is again similar example −
# Prepare SQL query to DELETE required records sql = "Delete from tutorials_tbl where tutorial_id = 2" try: # Execute the SQL command cursor.execute(sql) # Commit your changes in the database db.commit() except: # Rollback in case there is any error db.rollback()
COMMIT Operation
Commit is the operation, which gives a green signal to database to finalize the changes, and after this operation, no change can be reverted back.
Here is a simple example to call commit method.
db.commit()
ROLLBACK Operation
If you are not satisfied with one or more of the changes and you want to revert back those changes completely, then use rollback() method.
Here is a simple example to call rollback() method.
db.rollback()
Disconnecting Database
To disconnect Database connection, use close() method.
db.close()
If the connection to a database is closed by the user with the close() method, any outstanding transactions are rolled back by the DB. However, instead of depending on any of DB lower level implementation details, your application would be better off calling commit or rollback explicitly.