Python MySQL - Tabla de actualización

ACTUALIZAR La operación en cualquier base de datos actualiza uno o más registros, que ya están disponibles en la base de datos. Puede actualizar los valores de los registros existentes en MySQL usando la instrucción UPDATE. Para actualizar filas específicas, debe usar la cláusula WHERE junto con ella.

Sintaxis

A continuación se muestra la sintaxis de la declaración UPDATE en MySQL:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

Puede combinar N número de condiciones utilizando los operadores AND u OR.

Ejemplo

Supongamos que hemos creado una tabla en MySQL con el nombre EMPLOYEES como -

mysql> CREATE TABLE EMPLOYEE(
   FIRST_NAME CHAR(20) NOT NULL,
   LAST_NAME CHAR(20),
   AGE INT,
   SEX CHAR(1),
   INCOME FLOAT
);
Query OK, 0 rows affected (0.36 sec)

Y si hemos insertado 4 registros usando instrucciones INSERT como:

mysql> INSERT INTO EMPLOYEE VALUES
   ('Krishna', 'Sharma', 19, 'M', 2000),
   ('Raj', 'Kandukuri', 20, 'M', 7000),
   ('Ramya', 'Ramapriya', 25, 'F', 5000),
   ('Mac', 'Mohan', 26, 'M', 2000);

Seguir la declaración de MySQL aumenta la edad de todos los empleados masculinos en un año:

mysql> UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M';
Query OK, 3 rows affected (0.06 sec) 9. 
Rows matched: 3 Changed: 3 Warnings: 0

Si recupera el contenido de la tabla, puede ver los valores actualizados como:

mysql> select * from EMPLOYEE;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE  | SEX  | INCOME |
+------------+-----------+------+------+--------+
| Krishna    | Sharma    |    20| M    | 2000   |
| Raj        | Kandukuri |    21| M    | 7000   |
| Ramya      | Ramapriya |    25| F    | 5000   |
| Mac        | Mohan     |    27| M    | 2000   |
+------------+-----------+------+------+--------+
4 rows in set (0.00 sec)

Actualizar el contenido de una tabla con Python

Para actualizar los registros en una tabla en MySQL usando python:

  • importar mysql.connector paquete.

  • Cree un objeto de conexión utilizando el mysql.connector.connect() método, pasando el nombre de usuario, contraseña, host (predeterminado opcional: localhost) y base de datos (opcional) como parámetros.

  • Cree un objeto de cursor invocando el cursor() método en el objeto de conexión creado anteriormente.

  • Luego, ejecute la instrucción UPDATE pasándola como parámetro alexecute() método.

Ejemplo

El siguiente ejemplo aumenta la edad de todos los hombres en un año.

import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
   user='root', password='password', host='127.0.0.1', database='mydb'
)

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Preparing the query to update the records
sql = '''UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M' '''

try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   conn.commit()
except:
   # Rollback in case there is any error
   conn.rollback()

#Retrieving data
sql = '''SELECT * from EMPLOYEE'''

#Executing the query
cursor.execute(sql)

#Displaying the result
print(cursor.fetchall())

#Closing the connection
conn.close()

Salida

[
   ('Krishna', 'Sharma', 22, 'M', 2000.0), 
   ('Raj', 'Kandukuri', 23, 'M', 7000.0), 
   ('Ramya', 'Ramapriya', 26, 'F', 5000.0)
]