SQL Databases • المستوى الأول • الدرس 4
العودة لفهرس المستوىتحديث وحذف البيانات (UPDATE & DELETE)
أهداف الدرس
- تعديل السجلات الحالية بأمر
UPDATE ... SET. - حذف البيانات بـ
DELETE FROMمع الحرص على شرطWHERE. - تحديث حقول متعددة في أمر
UPDATEواحد. - فهم خطر تجاهل
WHERE: تعديل أو حذف جميع الصفوف بدون قصد!
1. حماية التعديل والحذف
تنبيه هام: عند تنفيذ UPDATE أو DELETE بدون ذكر شرط WHERE، سيتم تعديل أو مسح جميع السجلات بداخل الجدول دفعة واحدة!
sql
-- تحديث آمن (مع WHERE)
UPDATE users SET age = 31 WHERE email = '[email protected]';
-- -> Query OK, 1 row affected
-- تحديث خطير (بدون WHERE!)
UPDATE users SET age = 0;
-- -> Query OK, 20 rows affected <- غيّر عمر الكل!
-- حذف آمن
DELETE FROM users WHERE email = '[email protected]';
-- -> Query OK, 1 row affected
-- حذف كارثي (بدون WHERE!)
DELETE FROM users;
-- -> Query OK, 20 rows affected <- مسح الجدول بالكامل!2. صيغة UPDATE الكاملة
الصيغة الأساسية
UPDATE table_name
SET col1 = val1,
col2 = val2
WHERE condition;تحديث حقول متعددة
UPDATE users
SET name = 'جمال',
age = 35
WHERE id = 1;3. جدول مقارنة UPDATE vs DELETE
| الخاصية | UPDATE | DELETE |
|---|---|---|
| الوظيفة | تعديل قيم موجودة | حذف صفوف |
| يحتاج SET؟ | نعم | لا |
| بدون WHERE | يعدّل الكل! | يحذف الكل! |
| آمن؟ | مع WHERE فقط | مع WHERE فقط |
التطبيق العملي المباشر
تحدي الدرس الرابع: تحديث وحذف آمن
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- غيّر عمر جمال من
31إلى35في أول أمرUPDATE. - أضف أمر
UPDATEجديد لتحديث حقلين معاً:nameوageفي نفس الأمر. - أضف أمر
UPDATEجماعي: تعيينage = 30لكل من عمره< 25. - احتفظ بأمر
DELETEالأصلي لحذف أحمد علي. - أضف أمر
DELETEجديد لحذف المستخدمين بعمر= 22. - تأكد من اقتران كل أوامر التحديث والحذف بشرط
WHERE.
⏳ جارٍ تحميل المحرر التفاعلي...