الدرس 18 من 56 · قواعد البيانات SQLite

مشروع صغير: دفتر ملاحظات بقاعدة بيانات

نجمع كل شي — كلاس يدير ملاحظات بقاعدة بيانات:

import sqlite3, datetime

class Notes:
    def __init__(self, path="notes.db"):
        self.c = sqlite3.connect(path)
        self.c.execute("CREATE TABLE IF NOT EXISTS n (id INTEGER PRIMARY KEY, txt TEXT, at TEXT)")

    def add(self, txt):
        now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
        self.c.execute("INSERT INTO n (txt, at) VALUES (?, ?)", (txt, now))
        self.c.commit()

    def all(self):
        return self.c.execute("SELECT * FROM n ORDER BY id DESC").fetchall()

app = Notes()
app.add("أكمل دورة بايثون")
for row in app.all():
    print(row)

هذا النمط (كلاس يغلف القاعدة) هو أساس أي تطبيق حقيقي.

اختبار سريع للدرس

جاوب على كل الأسئلة — لازم كلها صح. إذا غلطت بيطلع صندوق ذهبي يفهّمك وش الخطأ. مو عيب تغلط، كل مبرمج بالعالم غلط وأخذ منها درس.

1. وش يعمل ORDER BY id DESC؟
2. أي import ضروري لقاعدة البيانات؟
3. strftime تستخدم لـ؟
الدرس 17 الدرس 19 — رسومات turtle — ارسم بالكود
FeLiXFeLiX AI — مساعد المنصتين