Python MySQL - Tabloyu Güncelle

GÜNCELLEME Herhangi bir veritabanı üzerinde işlem, veritabanında zaten mevcut olan bir veya daha fazla kaydı günceller. UPDATE deyimini kullanarak MySQL'deki mevcut kayıtların değerlerini güncelleyebilirsiniz. Belirli satırları güncellemek için, onunla birlikte WHERE yan tümcesini kullanmanız gerekir.

Sözdizimi

Aşağıda MySQL'deki UPDATE ifadesinin sözdizimi verilmiştir -

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

AND veya OR operatörlerini kullanarak N sayıda koşulu birleştirebilirsiniz.

Misal

MySQL'de EMPLOYEES adında bir tablo oluşturduğumuzu varsayalım -

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)

Ve INSERT ifadelerini kullanarak 4 kayıt eklediysek -

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

MySQL ifadesinin ardından tüm erkek çalışanların yaşı bir yıl artar -

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

Tablonun içeriğini alırsanız, güncellenmiş değerleri şu şekilde görebilirsiniz:

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)

Python Kullanarak Bir Tablonun İçeriğini Güncelleme

Python kullanarak MySQL'deki bir tablodaki kayıtları güncellemek için -

  • ithalat mysql.connector paketi.

  • Kullanarak bir bağlantı nesnesi oluşturun mysql.connector.connect() yöntem, kullanıcı adını, parolayı, ana bilgisayarı (isteğe bağlı varsayılan: localhost) ve veritabanını (isteğe bağlı) parametre olarak ona ileterek.

  • İmleç nesnesini çağırarak cursor() Yukarıda oluşturulan bağlantı nesnesinde yöntem.

  • Ardından, UPDATE deyimini parametre olarak ileterek yürütün .execute() yöntem.

Misal

Aşağıdaki örnek tüm erkeklerin yaşını bir yıl artırmaktadır.

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

Çıktı

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