البرمجة

استخدام وحدة SQLite3 في بايثون: دليل شامل للتفاعل مع قواعد البيانات

في عالم تطوير البرمجيات، يظهر استخدام قاعدة البيانات كخطوة أساسية لتخزين واسترجاع البيانات بشكل فعال. ومن بين قواعد البيانات الشائعة والمدمجة في لغة البرمجة بايثون، تبرز SQLite3 كأداة قوية ومتنوعة. سوف أوجز لك كيفية استخدام وحدة SQLite3 في بايثون، مشيرًا إلى بعض الجوانب الأساسية والأمثلة البسيطة.

أولاً وقبل كل شيء، يجب عليك التأكد من توفر وحدة SQLite3 في نظام بايثون الخاص بك، وفي حالة عدم وجودها، يمكنك تثبيتها باستخدام أداة إدارة الحزم pip. يتم ذلك عبر الأمر:

bash
pip install sqlite3

الخطوة الأولى بعد التثبيت تشمل استيراد وحدة SQLite3 في برنامج بايثون الخاص بك. يتم ذلك عن طريق كتابة:

python
import sqlite3

ثم يجب إنشاء اتصال بقاعدة البيانات باستخدام الأمر connect()، وذلك عن طريق تحديد اسم قاعدة البيانات أو إنشاء قاعدة بيانات جديدة إذا كانت غير موجودة. في هذا السياق، يُستخدم الكود التالي كمثال:

python
conn = sqlite3.connect('mydatabase.db')

بعد تأسيس الاتصال بقاعدة البيانات، يمكنك إنشاء كائن cursor الذي يمكنه تنفيذ الأوامر SQL في القاعدة. يتم ذلك باستخدام الأمر cursor() كما يظهر في السطور التالية:

python
cursor = conn.cursor()

الخطوة التالية هي إنشاء جدول داخل قاعدة البيانات. يُظهر الكود التالي كيف يمكنك إنشاء جدول بسيط يحتوي على عمودين:

python
cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, username TEXT NOT NULL, email TEXT NOT NULL ) ''')

هنا، تم استخدام الأمر execute() لتنفيذ أمر SQL لإنشاء الجدول. يتم تحديد اسم الجدول، والأعمدة مع أنواع البيانات المختلفة.

لإضافة بيانات إلى الجدول، يمكنك استخدام أمر INSERT، على سبيل المثال:

python
cursor.execute(''' INSERT INTO users (username, email) VALUES (?, ?) ''', ('john_doe', '[email protected]'))

تم استخدام وسائط (placeholders) في الأمر SQL (?) لتجنب هجوم SQL Injection.

لاستعادة البيانات من الجدول، يمكنك استخدام أمر SELECT:

python
cursor.execute('SELECT * FROM users') rows = cursor.fetchall() for row in rows: print(row)

هذا مثال بسيط يستعرض بعض الجوانب الرئيسية لاستخدام وحدة SQLite3 في بايثون. يُفضل دائمًا مراجعة الوثائق الرسمية لـ SQLite و Python للحصول على مزيد من التفاصيل والخيارات المتاحة.

المزيد من المعلومات

بالتأكيد، سنواصل استكشاف المزيد من المعلومات حول استخدام وحدة SQLite3 في لغة البرمجة بايثون.

عند تنفيذ عمليات الاستعلام على الجدول، يمكنك استخدام العديد من أوامر SQL الأخرى. على سبيل المثال، لتحديد البيانات المطابقة لشرط معين، يمكنك استخدام جملة WHERE في استعلام SQL:

python
cursor.execute('SELECT * FROM users WHERE username=?', ('john_doe',)) result = cursor.fetchone() print(result)

هنا تم استخدام WHERE لتحديد الصفوف التي تحتوي على اسم المستخدم المحدد.

يمكنك أيضًا تحديد ترتيب النتائج باستخدام ORDER BY. على سبيل المثال، لترتيب النتائج حسب البريد الإلكتروني بترتيب تصاعدي، يمكنك استخدام الأمر التالي:

python
cursor.execute('SELECT * FROM users ORDER BY email ASC') sorted_rows = cursor.fetchall() for row in sorted_rows: print(row)

يمكنك أيضًا تحديد الحد الأقصى لعدد النتائج باستخدام LIMIT. على سبيل المثال، للحصول على أول ثلاث نتائج، يمكنك استخدام:

python
cursor.execute('SELECT * FROM users LIMIT 3') limited_rows = cursor.fetchall() for row in limited_rows: print(row)

بالإضافة إلى ذلك، يمكنك تحديث البيانات في الجدول باستخدام أمر UPDATE. على سبيل المثال، لتغيير عنوان البريد الإلكتروني للمستخدم “john_doe”، يمكنك استخدام:

python
cursor.execute('UPDATE users SET email=? WHERE username=?', ('[email protected]', 'john_doe'))

وإذا كنت بحاجة لحذف بيانات، يمكنك استخدام أمر DELETE. على سبيل المثال، لحذف المستخدم “john_doe”، يمكنك استخدام:

python
cursor.execute('DELETE FROM users WHERE username=?', ('john_doe',))

لاحظ أنه بعد تنفيذ عمليات الإدراج أو التحديث أو الحذف، يجب عليك استخدام commit() لتأكيد التغييرات:

python
conn.commit()

إذا كنت بحاجة إلى إغلاق الاتصال بقاعدة البيانات بعد الانتهاء من العمليات، يمكنك استخدام:

python
conn.close()

هذا يمثل نظرة شاملة حول كيفية استخدام وحدة SQLite3 في بايثون. يرجى مراعاة استكشاف الوثائق الرسمية لـ SQLite و Python لفهم أعمق للميزات والخيارات المتاحة.

زر الذهاب إلى الأعلى