القائمة الرئيسية

الصفحات



مقدمة

في أغلب التطبيقات التجارية التي ستقوم ببنائها مستقبلاً ستقوم حتماً بالتعامل مع قواعد البيانات لتخزين المعلومات بشكل مرتب و منظم.
هناك أنواع عديدة من قواعد البيانات, و كل نوع منهم له موديول خاص و جاهز للتعامل معه.

في هذا الدرس ستتعلم كيف تتعامل مع قواعد بيانات MySQL من تطبيقاتك التي تطورها بلغة بايثون.


معلومة تقنية

قواعد بيانات MySQL تعتبر أحد أشهر أنواع قواعد البيانات المجانية التي يستخدمها المطورون و لهذا تم اعتمادها في الشرح.
كما أننا سنفترض أنك قمت مسبقاً بتنصيب قواعد بيانات MySQL على جهازك لأننا في هذا الدرس سنشرح طريقة التعامل معها فقط.

في حال كنت لا تملك أي فكرة أو خبرة في التعامل مع قواعد اليبانات فسبق و أعددنا مرجع شامل لتعلمها من الصفر.

دورة قواعد البيانات »

تنصيب الحزمة 
mysql-connector

للتعامل مع قواعد بيانات MySQL يجب تنصيب الحزمة 

mysql-connector
 المخصصة للتعامل معها.
لذلك إفتح موجه الأوامر في PyCharm و أكتب الأمر التالي.

pip install mysql-connector

بعد تنصيب الحزمة 

mysql-connector
 بنجاح تصبح قادر على تضمينها و استخدام الدوال الموجودة فيها.

الإتصال بقواعد بيانات MySQL

أول شيء يجب أن تفعله للإتصال بقاعدة البيانات هو تضمين الموديول 

mysql.connector
 من الحزمة 
mysql-connector
 كالتالي.

import mysql.connector

الآن أصبح بإمكانك استخدام الدوال 

connect()
cursor()
,
 
execute()
 و غيرهم من الدوال الجاهزة في هذا الموديول للتعامل مع قواعد البيانات.



الدالة 
connect()

هذه الدالة تستخدم لإنشاء كائن نوعه 

MySQLConnection
 يسمح لنا بالإتصال بقاعدة البيانات. و هي مبنية كالتالي.

mysql.connector.connect(host='', user='', passwd='', database='')

  • الباراميتر 
    host
     نمرر لها المكان الموجود عليه خادم قاعدة البيانات.
  • الباراميتر 
    user
     نمرر له إسم المستخدم الذي سنتعامل من خلاله مع قاعدة البيانات.
  • الباراميتر 
    passwd
     نمرر له كلمة مرور المستخدم الذي سنتعامل من خلاله مع قاعدة البيانات.
  • الباراميتر 
    database
     نمرر له إسم قاعدة البيانات التي ننوي التعامل معها.


ملاحظة

المعلومات الإفتراضي للإتصال بقواعد بيانات MySQL في حال لم تقم أنت بتغييرها هي التالية:

  • إسم المستخدم الإفتراضي هو 
    'root'
  • المستخدم الإفتراضي ليس له كلمة مرور, أي كلمة مروره هي 
    ''
  • في حال كانت قاعدة البيانات موجودة على حاسوبك, فإن قيمة الباراميتر 
    host
     ستكون 
    'localhost'

في كل الأمثلة التي سنقوم فيها بالإتصال بقواعد البيانات سنستخدم هذه المعلومات لإنشاء الإتصال.



في المثال التالي قمنا بتضمين الحزمة 

mysql-connector
, ثم قمنا باستدعاء الدالة 
connect()
 لإنشاء كائن يسمح لنا بالإتصال بخادم قواعد البيانات.
بعدها قمنا بعرض هذا الكائن للتأكد فقط منه قد تم إنشاء هذا الكائن في الذاكرة.

مثال

Test.py
# connector هنا قمنا بتضمين كل محتوى الموديول
import mysql.connector
# MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect هنا قمنا باستدعاء الدالة
db = mysql.connector.connect(
host='localhost',
user='root',
passwd=''
)
# كما هو للتأكد فقط من أن معلومات الإتصال بخادم قواعد البيانات صحيحة لإنها إن لم تكن كذلك سيظهر خطأ db هنا قمنا بطباعة الكائن
print(db)

سنحصل على نتيجة تشبه النتيجة التالية عند تشغيل الملف 

Test
.

<mysql.connector.connection.MySQLConnection object at 0x012A18F0>


الدالة 
cursor()

هذه الدالة تستدعى من الكائن الذي ترجعه الدالة 

connect()
, و هي ترجع كائن نوعه 
MySQLCursor
.

كائن الـ 
MySQLCursor
 يحتوي على دوال جاهزة يمكن استخدامها للأسباب التالية:

  • لإرسال إستعلامات Queries ) إلى خادم قاعدة البيانات.
  • للحصول على النتائج Results ) التي يرجعها خادم قاعدة البيانات بعد أن يتم تنفيذ الإستعلام.

لا تقلق, ستتعلم طريقة استخدامها لاحقاً من الأمثلة.



الدالة 
execute(operation)

هذه الدالة تستدعى من الكائن الذي ترجعه الدالة 

cursor()
, من أجل إرسال إستعلامات إلى خادم قاعدة البيانات.
مكان البارميتر 
operation
 نمرر نص يمثل الإستعلام الذي نريد إرساله إلى خادم قاعدة البيانات.

لا تقلق, ستتعلم طريقة استخدامها لاحقاً من الأمثلة.

أمثلة شاملة حول التعامل مع قواعد البيانات

ستتعلم من الأمثلة التالية طريقة إنشاء قاعدة بيانات بسيطة إسمها company ), ثم سننشئ جدول لتخزين بيانات الموظفين إسمه employee ).
و سنفترض أن كل موظف له إسم name ), يملك رقم هاتف phone ), و عنده رقم تعرفة id ) خاص فيه.

الأمثلة موضوعة بشكل مترابط و دقيق بحيث تعلمك طريقة إنشاء قاعدة البيانات, إنشاء جداول فيها, تعديل حقول الجدول, تعبئة الجدوال بالبيانات, تعديل بيانات الجدول إلخ..


المثال الأول

المثال التالي يعلمك طريقة إنشاء قاعدة بيانات.
فعلياً, سنقوم بإنشاء قاعدة بيانات جديدة إسمها 

company
.

شاهد المثال »



المثال الثاني

المثال التالي يعلمك طريقة إنشاء جدول في قاعدة البيانات.
فعلياً, سنقوم بإنشاء جدول إسمه 

employee
 بداخل قاعدة البيانات 
company
 التي قمنا بإنشاءها في المثال السابق.

شاهد المثال »



المثال الثالث

المثال التالي يعلمك طريقة إضافة عامود جديد في الجدول.
فعلياً, سنقوم بإضافة عامود جديد إسمه 

phone
 في الجدول 
employee
 الذي قمنا بإنشاءه في المثال السابق.

شاهد المثال »



المثال الرابع

المثال التالي يعلمك طريقة إضافة سطر ( أي سجل ) في الجدول.
فعلياً, سنقوم بتخزين معلومات موظف في الجدول 

employee
 الذي قمنا بإنشاءه في الأمثلة السابقة.

شاهد المثال »



المثال الخامس

المثال التالي يعلمك طريقة إضافة عدة أسطر ( سجلات ) في الجدول دفعة واحدة.
فعلياً, سنقوم بتخزين معلومات 5 موظفين في الجدول 

employee
 الذي قمنا بإنشاءه في الأمثلة السابقة.

شاهد المثال »



المثال السادس

المثال التالي يعلمك طريقة جلب كل البيانات المخزنة في جدول و عرضها بشكل مرتب.
فعلياً, سنقوم بجلب معلومات كل الموظفين الذين قمنا بتخزينهم في الأمثلة السابقة في الجدول 

employee
.
ملاحظة: في الواقع قمنا بوضع ثلاث أمثلة, و كل مثال إعتمدنا فيه طريقة مختلفة للتعامل مع البيانات التي سيتم جلبها.

شاهد المثال »



المثال السابع

المثال التالي يعلمك طريقة جلب البيانات المخزنة في جدول ضمن شروط محددة.
ملاحظة: في الواقع قمنا بوضع أربع أمثلة, و كل مثال إعتمدنا فيه طريقة مختلفة للتعامل مع البيانات التي سيتم جلبها.

شاهد المثال »



المثال الثامن

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

id
 يساوي 3 في الجدول 
employee
.

شاهد المثال »



المثال التاسع

المثال التالي يعلمك طريقة حذف البيانات المخزنة في جدول.
ملاحظة: في الواقع قمنا بوضع مثالين. الأول يعلمك طريقة حذف سطر واحد من الجدول, و الثاني يعلمك طريقة حذف كل الأسطر الموجودة في الجدول.

شاهد المثال »



المثال العاشر

المثال التالي يعلمك طريقة التعامل مع قواعد البيانات بأفضل أسلوب ممكن لضمان أن لا يحدث أي خطأ يؤدي إلى إيقاف البرنامج بشكل مفاجئ.

شاهد المثال »



لمزيد من التفاصيل حول التعامل مع قواعد بيانات MySQL ننصحك بتصفح المرجع الرسمي لهذه الحزمة.

إنتقل للموقع »

تعليقات