طريقة تعديل البيانات المخزنة في الجدول في بايثون
المثال التالي يعلمك طريقة تعديل المعلومات المخزنة في جدول.
فعلياً, سنقوم بتغيير إسم الموظف الذي يملك رقم id يساوي 3 في الجدول employee.
معلومة تقنية
لحفظ أي معلومات قمت بإضافتها, تعديلها أو مسحها من أي جدول في قاعدة البيانات, يجب أن تستدعي الدالة commit() لحفظ التغيرات.
مثال
# mysql.connector هنا قمنا بتضمين كل محتوى الموديول
import mysql.connector
# MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect() هنا قمنا باستدعاء الدالة
db = mysql.connector.connect(
user='root',
passwd='',
host='localhost',
database='company'
)
# يسمح لنا بالتعامل مع قاعدة البيانات cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة
cursor = db.cursor()
# 'employee' وضعنا فيه نص الإستعلام الذي يقضي بتعديل قيمة حقل في الجدول sql المتغير
sql = 'UPDATE employee SET name = %s WHERE ID = %s'
# sql يمثل المعلومات التي سيتم دمجها مع الإستعلام الذي قمنا بتجهيزه في الكائن tuple عبارة عن val الكائن
val = ('Lara', '3')
# sql و تمرير نص الإستعلام المخزن في المتغير execute() هنا قمنا باستدعاء الدالة
# val و من ثم القيم التي سيتم دمجها مع نص الإستعلام و التي قمنا بتخزينها في الكائن
cursor.execute(sql, val)
# لحفظ التغيرات التي تم إجراءها في قاعدة البيانات commit() هنا قمنا باستدعاء الدالة
db.commit()
# هنا قمنا بطباعة عدد الأسطر التي تم تعديل محتواها في الجدول بسبب الإستعلام الذي تم إرساله سابقاً
print(cursor.rowcount, 'record(s) affected')
# هنا قمنا بإغلاق الإتصال مع قاعدة البيانات
cursor.close()
db.close()
• إذا لم يظهر لك أي خطأ بعد تشغيل الملف Test فهذا يعني أنه تم تعديل إسم الموظف بنجاح في الجدول employee.
• أيضاً سيتم طباعة الجملة التالية في الكونسول.
1 record(s) affected
معلومة تقنية
قبل إرسال الإستعلام إلى قاعدة البيانات, قامت الدالة execute() بدمج نص الإستعلام و القيم التي مررناها لها كالتالي.
UPDATE employee SET name = 'Lara' WHERE ID = 3