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