تعديل البيانات المخزنة في الجدول في بايثون

 طريقة تعديل البيانات المخزنة في الجدول في بايثون

المثال التالي يعلمك طريقة تعديل المعلومات المخزنة في جدول.
فعلياً, سنقوم بتغيير إسم الموظف الذي يملك رقم id يساوي 3 في الجدول employee.


معلومة تقنية

لحفظ أي معلومات قمت بإضافتها, تعديلها أو مسحها من أي جدول في قاعدة البيانات, يجب أن تستدعي الدالة commit() لحفظ التغيرات.


مثال

Test.py
                    # 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