1. الرئيسية
  2. مسارات التعلم
  3. تعلم SQL وقواعد البيانات من الصفر
  4. إنشاء الجداول وتعديل البيانات في SQL: CREATE وINSERT وUPDATE وDELETE
تعلم SQL وقواعد البيانات من الصفرالدرس 5 من 5

إنشاء الجداول وتعديل البيانات في SQL: CREATE وINSERT وUPDATE وDELETE

آخر درس في دورة SQL: إنشاء الجداول بالقيود، وإضافة البيانات وتعديلها وحذفها بأمان، والفهارس والمعاملات، والحماية من حقن SQL.

محتويات الدرس
  1. CREATE TABLE
  2. INSERT: إضافة البيانات
  3. UPDATE: التعديل
  4. DELETE: الحذف
  5. الفهارس: سرعة البحث
  6. المعاملات: كل شيء أو لا شيء
  7. الأمان: حقن SQL
  8. التمرين الختامي

CREATE TABLE

جرّب بنفسكمحرك SQLite يعمل في متصفحك مع قاعدة الطلاب والدورات

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

القيود تحمي بياناتك من الأخطاء:

القيد المعنى
PRIMARY KEY معرّف فريد لكل صف
NOT NULL لا يقبل قيمة فارغة
UNIQUE لا يتكرر، مثل البريد الإلكتروني
CHECK شرط على القيمة
DEFAULT قيمة افتراضية
REFERENCES مفتاح أجنبي يربط بجدول آخر

INSERT: إضافة البيانات

جرّب بنفسكمحرك SQLite يعمل في متصفحك مع قاعدة الطلاب والدورات

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

جرّب إضافة منتج بسعر سالب، وستجد أن قيد CHECK يرفضه.

UPDATE: التعديل

جرّب بنفسكمحرك SQLite يعمل في متصفحك مع قاعدة الطلاب والدورات

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

DELETE: الحذف

جرّب بنفسكمحرك SQLite يعمل في متصفحك مع قاعدة الطلاب والدورات

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

تحذير مهم: UPDATE أو DELETE دون WHERE يغيّر كل الصفوف. اكتب دائمًا SELECT بالشرط نفسه أولًا لترى ما سيتأثر.

الفهارس: سرعة البحث

sql
CREATE INDEX idx_students_city ON students (city);

الفهرس يشبه فهرس الكتاب: يجعل البحث بالمدينة أسرع كثيرًا في الجداول الكبيرة، مقابل مساحة إضافية وبطء بسيط في الإضافة.

المعاملات: كل شيء أو لا شيء

sql
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;   -- أو ROLLBACK للتراجع

الأمان: حقن SQL

لا تبنِ الاستعلام بلصق ما يكتبه المستخدم مباشرة داخل النص. استخدم الاستعلامات المهيأة (Prepared Statements) في لغة برمجتك، وإلا استطاع المهاجم كتابة أوامر SQL في حقل البحث. في دورة PHP مثال عملي على ذلك.

التمرين الختامي

  1. صمم جدول orders فيه رقم الطلب ورقم المنتج والكمية والتاريخ، مع مفتاح أجنبي إلى products.
  2. أضف 3 طلبات، ثم اعرض اسم كل منتج مع مجموع الكميات المطلوبة منه.
  3. افتح محرر SQL الكامل، ونزّل قاعدتك ملف .sqlite.
  4. أجب عن اختبار الدورة لتحصل على شهادة الإتمام.