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)
]