Operación de confirmación y reversión en Python

El método commit() y el método rollback() de Python se encuentran entre los diversos métodos utilizados para realizar transacciones de bases de datos. Las transacciones de bases de datos son necesarias ya que aseguran la atomicidad, consistencia, aislamiento y durabilidad de la base de datos.
En este artículo, nos centraremos en el uso de los métodos commit() y rollback() en detalle.
 

1. El método commit():

El método commit() se utiliza para asegurarse de que los cambios realizados en la base de datos sean coherentes. Básicamente proporciona la confirmación de la base de datos con respecto a los cambios realizados por un usuario o una aplicación en la base de datos.

Sintaxis: 

comm.commit() #comm refers to the database connection object

Para una mejor comprensión del concepto, consulte el código a continuación seguido de la explicación del código. La siguiente demostración del método commit() se realiza en una base de datos MySQL.

Ejemplo: 
Programa para actualizar la edad de un estudiante llamado Rishi Kumar y consignarlo en la base de datos.
Tabla MySQL en uso:  

Python3

# Python program to demonstrate
# commit() method
 
 
import mysql.connector
 
# Connecting to the Database
mydb = mysql.connector.connect(
host ='localhost',
database ='College',
user ='root',
)
 
cs = mydb.cursor()
 
# drop clause
statement ="UPDATE STUDENT SET AGE = 23 WHERE Name ='Rishi Kumar'"
 
cs.execute(statement)
 
# commit changes to the database
mydb.commit()
 
# Disconnecting from the database
mydb.close()

Producción: 

2. El método rollback():

El método rollback() se utiliza para revertir los últimos cambios realizados en la base de datos. Si surge una condición en la que uno no está satisfecho con los cambios realizados en la base de datos o falla una transacción de la base de datos, se puede usar el método rollback() para recuperar los datos originales que se cambiaron a través del método commit().

Sintaxis:  

comm.rollback() #comm refers to the database connection object

El siguiente código muestra el uso del método rollback() para revertir los cambios si falla una transacción de la base de datos:  

Python3

# Python program to demonstrate
# rollback() method
  
import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode
 
try:
    # Connecting to the Database
    mydb = mysql.connector.connect(
    host ='localhost',
    database ='College',
    user ='root',
    )
 
    cs = mydb.cursor()
 
    # drop clause
    statement ="UPDATE STUDENT SET AGE = 23 WHERE Name ='Rishi Kumar'"
 
 
    cs.execute(statement)
 
    # commit changes to the database
    mydb.commit()
     
    # update successful message
    print("Database Updated !")
     
except mysql.connector.Error as error :
 
    # update failed message as an error
    print("Database Update Failed !: {}".format(error))
    
    # reverting changes because of exception
    mydb.rollback()
  
 
 # Disconnecting from the database
mydb.close()

Producción: 

Si la transacción de la base de datos es exitosa, la salida será, 

Database Updated!

Si la transacción de la base de datos falla, la salida es un error generado como,  

Database Update Failed!

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *