Python MySQL - tabela aktualizacji
UPDATE Operacja na dowolnej bazie danych aktualizuje jeden lub więcej rekordów, które są już dostępne w bazie danych. Możesz zaktualizować wartości istniejących rekordów w MySQL za pomocą instrukcji UPDATE. Aby zaktualizować określone wiersze, musisz użyć wraz z nią klauzuli WHERE.
Składnia
Poniżej znajduje się składnia instrukcji UPDATE w MySQL -
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
Możesz łączyć liczbę N warunków za pomocą operatorów AND lub OR.
Przykład
Załóżmy, że utworzyliśmy tabelę w MySQL o nazwie PRACOWNICY jako -
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)
A jeśli wstawiliśmy do niego 4 rekordy za pomocą instrukcji INSERT jako -
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);
Postępowanie zgodnie z oświadczeniem MySQL zwiększa wiek wszystkich pracowników płci męskiej o jeden rok -
mysql> UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M';
Query OK, 3 rows affected (0.06 sec)
Rows matched: 3 Changed: 3 Warnings: 0
Jeśli pobierasz zawartość tabeli, możesz zobaczyć zaktualizowane wartości jako -
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)
Aktualizacja zawartości tabeli za pomocą Pythona
Aby zaktualizować rekordy w tabeli w MySQL za pomocą Pythona -
import mysql.connector pakiet.
Utwórz obiekt połączenia przy użyciu mysql.connector.connect() metody, przekazując jako parametry nazwę użytkownika, hasło, host (opcjonalnie domyślnie: localhost) i bazę danych (opcjonalnie).
Utwórz obiekt kursora, wywołując plik cursor() na obiekt połączenia utworzony powyżej.
Następnie wykonaj instrukcję UPDATE, przekazując ją jako parametr do execute() metoda.
Przykład
Poniższy przykład zwiększa wiek wszystkich mężczyzn o jeden rok.
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()
Wynik
[('Krishna', 'Sharma', 22, 'M', 2000.0),
('Raj', 'Kandukuri', 23, 'M', 7000.0),
('Ramya', 'Ramapriya', 26, 'F', 5000.0)
]