العمل مع قواعد البيانات باستخدام SQLite

Amine
15/09/2024

تعتبر قواعد البيانات وسيلة شائعة لتخزين وتنظيم البيانات. SQLite هو قاعدة بيانات خفيفة الوزن وقائمة على القرص ولا تحتاج إلى عملية خادم منفصلة. توفر بايثون وحدة sqlite3 للعمل مع قواعد بيانات SQLite.

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

للاتصال بقاعدة بيانات SQLite، يمكنك استخدام طريقة sqlite3.connect(). إذا لم يكن ملف قاعدة البيانات موجودًا، سيتم إنشاؤه:

import sqlite3

# الاتصال بقاعدة بيانات (أو إنشاؤها إذا لم تكن موجودة)
conn = sqlite3.connect("example.db")

# إنشاء كائن المؤشر للتفاعل مع قاعدة البيانات
cursor = conn.cursor()

إنشاء جدول

يمكنك إنشاء جدول في قاعدة البيانات باستخدام عبارة SQL CREATE TABLE:

# إنشاء جدول
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")

# تأكيد التغييرات
conn.commit()

إدخال بيانات

يمكنك إدخال بيانات في الجدول باستخدام عبارة SQL INSERT INTO:

# إدخال بيانات في الجدول
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))
conn.commit()

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

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

# استعلام الجدول
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()

for row in rows:
    print(row)  # الناتج: (1, 'Alice', 30)

إغلاق الاتصال

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

# إغلاق الاتصال
conn.close()

تمارين

التمرين 1

اكتب برنامجًا ينشئ قاعدة بيانات وجدولًا باسم products مع أعمدة لـ id و name و price. قم بإدخال بعض المنتجات في الجدول واستعلام جميع المنتجات.

import sqlite3

conn = sqlite3.connect("shop.db")
cursor = conn.cursor()

# إنشاء جدول المنتجات
cursor.execute("CREATE TABLE IF NOT EXISTS products (id INTEGER PRIMARY KEY, name TEXT, price REAL)")

# إدخال المنتجات في الجدول
cursor.execute("INSERT INTO products (name, price) VALUES (?, ?)", ('Laptop', 799.99))
cursor.execute("INSERT INTO products (name, price) VALUES (?, ?)", ('Smartphone', 599.99))
conn.commit()

# استعلام جميع المنتجات
cursor.execute("SELECT * FROM products")
products = cursor.fetchall()

for product in products:
    print(product)  # الناتج: (1, 'Laptop', 799.99), (2, 'Smartphone', 599.99)

conn.close()

التمرين 2

اكتب برنامجًا يحدث سعر منتج في جدول products.

conn = sqlite3.connect("shop.db")
cursor = conn.cursor()

# تحديث سعر منتج
cursor.execute("UPDATE products SET price = ? WHERE name = ?", (749.99, 'Laptop'))
conn.commit()

# استعلام المنتج المحدث
cursor.execute("SELECT * FROM products WHERE name = ?", ('Laptop',))
updated_product = cursor.fetchone()
print(updated_product)  # الناتج: (1, 'Laptop', 749.99)

conn.close()

التمرين 3

اكتب برنامجًا يحذف منتجًا من جدول products.

conn = sqlite3.connect("shop.db")
cursor = conn.cursor()

# حذف منتج
cursor.execute("DELETE FROM products WHERE name = ?", ('Smartphone',))
conn.commit()

# استعلام جميع المنتجات
cursor.execute("SELECT * FROM products")
remaining_products = cursor.fetchall()

for product in remaining_products:
    print(product)  # الناتج: (1, 'Laptop', 749.99)

conn.close()

عمل ممتاز! لقد تعلمت كيفية استخدام SQLite مع بايثون لإنشاء قواعد بيانات وإدخال البيانات واسترجاعها وإدارتها بكفاءة.

التعليقات

اترك تعليقاً