طريقة جلب البيانات المخزنة في جدول ضمن شروط محددة في بايثون
المثال التالي يعلمك طريقة جلب البيانات المخزنة في جدول ضمن شروط محددة.
ملاحظة: سنقوم بجلب معلومات كل موظف في الجدول employee
عنده رقم Id
أكبر من 3.
المثال الأول
# connector هنا قمنا بتضمين كل محتوى الموديول import mysql.connector # MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect هنا قمنا باستدعاء الدالة db = mysql.connector.connect( user='root', passwd='', host='localhost', database='company' ) # cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة cursor = db.cursor() # أكبر من 3 id الذين يملكون رقم 'employee' و تمرير نص الإستعلام الذي يقضي بجلب كل معلومات الموظفين المخزنة في الجدول execute() هنا قمنا باستدعاء الدالة cursor.execute('SELECT * FROM employee WHERE id > 3') # حتى ترجع كل المعلومات التي أرجعها الإستعلام fetchall() هنا قمنا باستدعاء الدالة # result بعدها قمنا بتخزين كل المعلومات التي تم إرجاعها في الكائن # يمثل سطر في الجدول tuple كل عنصر فيه عبارة عن list عبارة عن result الكائن result = cursor.fetchall() # result موجود في الكائن tuple في كل دورة ترجع for هنا قمنا بإنشاء حلقة # بعدها تعرضه كما هو .row ثم تخزنه بشكل مؤقت في الكائن for row in result: print(row) # هنا قمنا بإغلاق الإتصال مع قاعدة البيانات cursor.close() db.close()
• ستحصل على النتيجة التالية عند تشغيل الملف Test
إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.
(5, 'John', '96178665711')
(6, 'Nada', '96171004321')
ملاحظة
في حال قمت بكتابة إستعلام يرجع سطر واحد فقط, عندها الأفضل و الأسهل لك هو استخدام الدالة fetchone()
للتعامل مع البيانات التي تم جلبها.
هذه الدالة ترجع tuple
واحد يحتوي على المعلومات التي تم إرجاعها.
و في حال قمت بإرسال إستعلام يرجع أكثر من سطر, ثم قمت باستخدام هذه الدالة للتعامل مع البيانات التي تم إرجاعها فإنها سترجع لك آخر سطر أرجعه لك الإستعلام فقط.
المثال التالي يعلمك طريقة جلب سطر واحد من قاعدة البيانات و من ثم عرض البيانات التي تم جلبها كما هي.
المثال الثاني
# connector هنا قمنا بتضمين كل محتوى الموديول import mysql.connector # MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect هنا قمنا باستدعاء الدالة db = mysql.connector.connect( user='root', passwd='', host='localhost', database='company' ) # cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة cursor = db.cursor() # يساوي 1 id و الذي يملك رقم 'employee' و تمرير نص الإستعلام الذي يقضي بجلب كل معلومات الموظف الموجود في الجدول execute() هنا قمنا باستدعاء الدالة cursor.execute('SELECT * FROM employee WHERE id = 1') # tuple حتى ترجع كل المعلومات التي أرجعها الإستعلام ككائن fetchone() هنا قمنا باستدعاء الدالة # result بعدها قمنا بتخزين كل المعلومات التي تم إرجاعها في الكائن result = cursor.fetchone() # كما هي result هنا قمنا بعرض المعلومات المخزنة في الكائن print(result) # هنا قمنا بإغلاق الإتصال مع قاعدة البيانات cursor.close() db.close()
• ستحصل على النتيجة التالية عند تشغيل الملف Test
إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.
المثال التالي يعلمك طريقة تحديد الأعمدة التي تريد عرضها بناء على رقم الـ Index الخاص بكل عامود.
فعلياً, بما أن السطر الذي سنجلبه من الجدول سيكون عبارة عن tuple
تتألف من ثلاث عناصر, سنقوم بعرض هذه العناصر بالشكل الذي نريده.
المثال الثالث
# connector هنا قمنا بتضمين كل محتوى الموديول import mysql.connector # MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect هنا قمنا باستدعاء الدالة db = mysql.connector.connect( user='root', passwd='', host='localhost', database='company' ) # cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة cursor = db.cursor() # يساوي 1 id و الذي يملك رقم 'employee' و تمرير نص الإستعلام الذي يقضي بجلب كل معلومات الموظف الموجود في الجدول execute() هنا قمنا باستدعاء الدالة cursor.execute('SELECT * FROM employee WHERE id = 1') # tuple حتى ترجع كل المعلومات التي أرجعها الإستعلام ككائن fetchone() هنا قمنا باستدعاء الدالة # result بعدها قمنا بتخزين كل المعلومات التي تم إرجاعها في الكائن result = cursor.fetchone() # result هنا قمنا بعرض المعلومات المخزنة في الكائن print('Id:', result[0]) print('Name:', result[1]) print('Phone:', result[2]) # هنا قمنا بإغلاق الإتصال مع قاعدة البيانات cursor.close() db.close()
• ستحصل على النتيجة التالية عند تشغيل الملف Test
إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.
Name: Ahmad
Phone: 96101200155
المثال التالي يعلمك طريقة تحديد الأعمدة التي تريد عرضها بناءاً على أسماء الأعمدة الموجودة فعلياً في الجدول.
هنا سنحدد للدالة cursor()
أن السطر الذي سيتم إرجاعه سيكون عبارة عن dict
, عندها بشكل تلقائي سيتم وضع إسم كل عامود في الجدول كمفتاح, و القيم المخزنة في الجدول كقيم للمفاتيح.
المثال الرابع
# connector هنا قمنا بتضمين كل محتوى الموديول import mysql.connector # MySQL حتى ترجع كائن يسمح لنا بالإتصال بقواعد بيانات connect هنا قمنا باستدعاء الدالة db = mysql.connector.connect( user='root', passwd='', host='localhost', database='company' ) # dict مع الإشارة إلى أننا نريد إرجاع أي سطر يتم جلبه ككائن cursor لإنشاء كائن cursor() هنا قمنا باستدعاء الدالة cursor = db.cursor(dictionary=True) # يساوي 1 id و الذي يملك رقم 'employee' و تمرير نص الإستعلام الذي يقضي بجلب كل معلومات الموظف الموجود في الجدول execute() هنا قمنا باستدعاء الدالة cursor.execute('SELECT * FROM employee WHERE id = 1') # tuple حتى ترجع كل المعلومات التي أرجعها الإستعلام ككائن fetchone() هنا قمنا باستدعاء الدالة # result بعدها قمنا بتخزين كل المعلومات التي تم إرجاعها في الكائن result = cursor.fetchone() # result هنا قمنا بعرض المعلومات المخزنة في الكائن print('ID:', result.get('id')) print('Name:', result.get('name')) print('Phone:', result.get('phone')) # هنا قمنا بإغلاق الإتصال مع قاعدة البيانات cursor.close() db.close()
• ستحصل على النتيجة التالية عند تشغيل الملف Test
إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.
Name: Ahmad
Phone: 96101200155