Python MySQL - Aggiorna tabella
UPDATE L'operazione su qualsiasi database aggiorna uno o più record, che sono già disponibili nel database. È possibile aggiornare i valori dei record esistenti in MySQL utilizzando l'istruzione UPDATE. Per aggiornare righe specifiche, è necessario utilizzare la clausola WHERE insieme ad essa.
Sintassi
Di seguito è riportata la sintassi dell'istruzione UPDATE in MySQL:
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
È possibile combinare un numero N di condizioni utilizzando gli operatori AND o OR.
Esempio
Supponiamo di aver creato una tabella in MySQL con il nome EMPLOYEES come -
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)
E se abbiamo inserito 4 record in esso utilizzando le istruzioni INSERT come -
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);
A seguito della dichiarazione MySQL, l'età di tutti i dipendenti di sesso maschile aumenta di un anno -
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
Se recuperi il contenuto della tabella, puoi vedere i valori aggiornati come:
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)
Aggiornare il contenuto di una tabella usando Python
Per aggiornare i record in una tabella in MySQL usando python -
importare mysql.connector pacchetto.
Crea un oggetto connessione usando il mysql.connector.connect() , passando il nome utente, la password, l'host (predefinito opzionale: localhost) e il database (opzionale) come parametri ad esso.
Crea un oggetto cursore richiamando il file cursor() metodo sull'oggetto connessione creato sopra.
Quindi, eseguire l' istruzione UPDATE passandola come parametro al fileexecute() metodo.
Esempio
Il seguente esempio aumenta di un anno l'età di tutti i maschi.
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()
Produzione
[
('Krishna', 'Sharma', 22, 'M', 2000.0),
('Raj', 'Kandukuri', 23, 'M', 7000.0),
('Ramya', 'Ramapriya', 26, 'F', 5000.0)
]