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

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

المثال الأول

Test.py
# 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 كل عنصر فيه عبارة عن عبارة عن result الكائن
result = cursor.fetchall()

# result موجود في الكائن tuple في كل دورة ترجع for هنا قمنا بإنشاء حلقة
# بعدها تعرضه كما هو .row ثم تخزنه بشكل مؤقت في الكائن
for row in result:
    print(row)

# هنا قمنا بإغلاق الإتصال مع قاعدة البيانات
cursor.close()
db.close()
		

ستحصل على النتيجة التالية عند تشغيل الملف Test إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.

(4, 'Rola', '96176554235')
(5, 'John', '96178665711')
(6, 'Nada', '96171004321')


ملاحظة

في حال قمت بكتابة إستعلام يرجع سطر واحد فقط, عندها الأفضل و الأسهل لك هو استخدام الدالة fetchone() للتعامل مع البيانات التي تم جلبها.

هذه الدالة ترجع tuple واحد يحتوي على المعلومات التي تم إرجاعها.
و في حال قمت بإرسال إستعلام يرجع أكثر من سطر, ثم قمت باستخدام هذه الدالة للتعامل مع البيانات التي تم إرجاعها فإنها سترجع لك آخر سطر أرجعه لك الإستعلام فقط.



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

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

Test.py
# 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 إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.

(1, 'Ahmad', '96101200155')


المثال التالي يعلمك طريقة تحديد الأعمدة التي تريد عرضها بناء على رقم الـ Index الخاص بكل عامود.
فعلياً, بما أن السطر الذي سنجلبه من الجدول سيكون عبارة عن tuple تتألف من ثلاث عناصر, سنقوم بعرض هذه العناصر بالشكل الذي نريده.

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

Test.py
# 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 إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.

Id: 1
Name: Ahmad
Phone: 96101200155


المثال التالي يعلمك طريقة تحديد الأعمدة التي تريد عرضها بناءاً على أسماء الأعمدة الموجودة فعلياً في الجدول.
هنا سنحدد للدالة cursor() أن السطر الذي سيتم إرجاعه سيكون عبارة عن dict, عندها بشكل تلقائي سيتم وضع إسم كل عامود في الجدول كمفتاح, و القيم المخزنة في الجدول كقيم للمفاتيح.

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

Test.py
# 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 إذا قمت بتخزين نفس البيانات التي قمنا بإدخالها في الأمثلة السابقة.

Id: 1
Name: Ahmad
Phone: 96101200155

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة