طريقة تعديل البيانات المخزنة في الجدول في بايثون
المثال التالي يعلمك طريقة تعديل المعلومات المخزنة في جدول.
فعلياً, سنقوم بتغيير إسم الموظف الذي يملك رقم 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