🛡️تقنية المعلومات
مستوى 1⭐ 0
➕

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

INSERT INTO وعلامات الاستفهام ? • ⏱ نحو 25 دقيقة

إضافة صف إلى الجدول

نضيف صفًا جديدًا بالأمر INSERT INTO ونحدد أسماء الأعمدة ثم القيم بعد VALUES. نضع علامة ? مكان كل قيمة، ثم نمرّر القيم الفعلية في صف (tuple) كوسيط ثانٍ للدالة execute. بهذه الطريقة تمرّر بايثون القيم بأمان إلى القاعدة.

تشريح الأمر

الأمر والقيم

أربع علامات ? تقابل أربع قيم بالترتيب نفسه. لم نكتب id لأنه مفتاح أساسي يُولَّد تلقائيًا، ولم نكتب price فتبقى NULL.

cursor.execute(
    'INSERT INTO landmarks (name, location, category, year) VALUES (?, ?, ?, ?)',
    ('Abdullah Al Salem Centre', 'Al Shaab Area', 'Culture', 2018)
)

🧪 برنامج الورقة كاملًا

شغّله ولاحظ الصف الذي أُضيف. بعد commit() نقرأ الجدول كله بالأمر SELECT.

main.py

اضغط «شغّل» لترى الناتج هنا.

💡

الصف الناتج: (1, 'Abdullah Al Salem Centre', 'Al Shaab Area', 'Culture', 2018, None). الرقم 1 هو id الذي ولّدته SQLite، وNone في بايثون تقابل NULL في القاعدة.

ورقة العمل 5: إضافة عدة صفوف مرة واحدة

بدل تكرار execute لكل صف نجهّز قائمة list من الصفوف (كل صف tuple)، ونستخدم executemany() لتنفّذ جملة INSERT نفسها لكل صف في القائمة. ولا بد أن نستخدم معها علامات ?.

🧪 برنامج ورقة العمل 5 كاملًا

شغّله: سيُضاف 3 صفوف دفعة واحدة. ثم يطبع البرنامج رسالة إغلاق الاتصال.

main.py

اضغط «شغّل» لترى الناتج هنا.

💡

في جدول الكتاب تأخذ الصفوف الجديدة id = 2 و3 و4 (لأن الصف 1 أُضيف في ورقة العمل 4)، وعمود price يحفظ 5 كـ 5.0 لأن نوعه REAL.

أنهيت القراءة! حان وقت 🎮 اللعب