إنشاء الجداول وتعديل البيانات في SQL: CREATE وINSERT وUPDATE وDELETE
آخر درس في دورة SQL: إنشاء الجداول بالقيود، وإضافة البيانات وتعديلها وحذفها بأمان، والفهارس والمعاملات، والحماية من حقن SQL.
محتويات الدرس
CREATE TABLE
اضغط «تشغيل» لترى النتيجة هنا.
القيود تحمي بياناتك من الأخطاء:
| القيد | المعنى |
|---|---|
| PRIMARY KEY | معرّف فريد لكل صف |
| NOT NULL | لا يقبل قيمة فارغة |
| UNIQUE | لا يتكرر، مثل البريد الإلكتروني |
| CHECK | شرط على القيمة |
| DEFAULT | قيمة افتراضية |
| REFERENCES | مفتاح أجنبي يربط بجدول آخر |
INSERT: إضافة البيانات
اضغط «تشغيل» لترى النتيجة هنا.
جرّب إضافة منتج بسعر سالب، وستجد أن قيد CHECK يرفضه.
UPDATE: التعديل
اضغط «تشغيل» لترى النتيجة هنا.
DELETE: الحذف
اضغط «تشغيل» لترى النتيجة هنا.
تحذير مهم: UPDATE أو DELETE دون WHERE يغيّر كل الصفوف. اكتب دائمًا SELECT بالشرط نفسه أولًا لترى ما سيتأثر.
الفهارس: سرعة البحث
CREATE INDEX idx_students_city ON students (city);الفهرس يشبه فهرس الكتاب: يجعل البحث بالمدينة أسرع كثيرًا في الجداول الكبيرة، مقابل مساحة إضافية وبطء بسيط في الإضافة.
المعاملات: كل شيء أو لا شيء
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 مثال عملي على ذلك.
التمرين الختامي
- صمم جدول
ordersفيه رقم الطلب ورقم المنتج والكمية والتاريخ، مع مفتاح أجنبي إلىproducts. - أضف 3 طلبات، ثم اعرض اسم كل منتج مع مجموع الكميات المطلوبة منه.
- افتح محرر SQL الكامل، ونزّل قاعدتك ملف .sqlite.
- أجب عن اختبار الدورة لتحصل على شهادة الإتمام.