SQLite في بايثون: نصائح عملية للمبتدئين

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

العمل مع قواعد البيانات في بايثون

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

أساسيات SQLite

التعريف ومبدأ العمل

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

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

تتميز SQLite بالعديد من المزايا الهامة:

• مدمجة في بايثون عبر وحدة sqlite3 • لا تتطلب إعدادات إضافية • توفر أداءً عاليًا للمشاريع الصغيرة والمتوسطة • سهلة الاستخدام • تدعم استعلامات SQL القياسية • حجمها صغير ومتطلباتها النظامية ضئيلة

مجالات استخدام SQLite في بايثون

حالات الاستخدام الرئيسية

تُستخدم SQLite بنشاط في السيناريوهات التالية:

• المشاريع التعليمية والتدريبية • التطبيقات المحلية والبرامج النصية • تطبيقات الويب الصغيرة مثل Flask • أنظمة تخزين الإعدادات • البرامج غير المتصلة بالإنترنت ذات التخزين المحلي • النماذج الأولية للتطبيقات • تخزين البيانات المؤقتة (Caching)

فوائد للمطورين

يحصل مطورو بايثون على فوائد عديدة من استخدام SQLite. لا تتطلب قاعدة البيانات تبعيات إضافية. تتيح البدء السريع في العمل مع البيانات العلائقية. تدعم SQLite المعاملات (Transactions) وتضمن موثوقية البيانات.

بدء العمل مع SQLite

الاستيراد والاتصال

SQLite مدمجة في المكتبة القياسية لبايثون. للعمل بها، يكفي استيراد الوحدة المناسبة:

import sqlite3

إنشاء اتصال بقاعدة البيانات

الاتصال بملف قاعدة البيانات

conn = sqlite3.connect('example.db')

إذا لم يكن ملف قاعدة البيانات موجودًا، فسيتم إنشاؤه تلقائيًا.

العمل مع قاعدة بيانات في الذاكرة

conn = sqlite3.connect(':memory:')

مثل هذه القاعدة موجودة فقط في الذاكرة العشوائية (RAM). يتم حذفها عند إنهاء البرنامج.

إنشاء هيكل قاعدة البيانات

إنشاء الجداول

cursor = conn.cursor()
cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER,
        email TEXT UNIQUE
    )
''')
conn.commit()

فهم أنواع البيانات

تدعم SQLite أنواع البيانات الأساسية التالية:

• INTEGER - الأعداد الصحيحة • TEXT - السلاسل النصية • REAL - الأعداد العشرية • BLOB - البيانات الثنائية • NULL - القيم الفارغة

العمليات على البيانات

إدراج البيانات

إضافة سجل واحد

cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", 
               ("Alice", 25, "alice@example.com"))
conn.commit()

إدراج بيانات متعددة

users = [
    ("Bob", 30, "bob@example.com"),
    ("Charlie", 22, "charlie@example.com"),
    ("Diana", 28, "diana@example.com")
]
cursor.executemany("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", users)
conn.commit()

قراءة البيانات من القاعدة

الحصول على جميع السجلات

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

استخدام القواميس للراحة

                

المدونات

توصيات الكتب