UPDATE
تعديل قيم صفوف موجودة UPDATE
UPDATE يغيّر قيم عمود أو أكثر في الصفوف المطابقة لشرط WHERE — بلا WHERE يُطبَّق التعديل على كل صفوف الجدول دفعة واحدة.
UPDATE يحدّد جدولًا وعمودًا أو أكثر يجب تغيير قيمتها عبر SET، وشرط WHERE يحدّد أي الصفوف تتأثّر. القيمة الجديدة يمكن أن تكون ثابتة، أو تعبيرًا يعتمد على القيمة الحالية للعمود نفسه (مثل price = price * 1.1).
WHERE ليس إلزاميًا في الصياغة لكنه عمليًا ضروري دائمًا — بدونه يُطبَّق التعديل على كل صف في الجدول، وهو خطأ شائع وخطير في بيئات الإنتاج.
الصياغة
UPDATE table SET column = value WHERE condition;
📄 مثال
UPDATE products SET price = price * 0.9 WHERE category = 'clearance';
أهم النقاط
| النقطة | الوظيفة |
|---|---|
| SET بعدة أعمدة | تعديل أكثر من عمود بأمر واحد بفصلهم بفاصلة |
| SET بتعبير | استخدام القيمة الحالية للعمود نفسه في حساب القيمة الجديدة |
| UPDATE بدون WHERE | يعدّل كل صفوف الجدول — نادرًا ما يكون هذا مقصودًا |
💡 نصائح عملية
- جرّب نفس الشرط في SELECT أولًا للتأكد من الصفوف التي سيطالها التعديل، قبل تشغيل UPDATE فعليًا
- لف عمليات UPDATE الحساسة (مالية مثلًا) داخل معاملة (Transaction) لتقدر تتراجع لو حدث خطأ
⚠️ أخطاء شائعة
- نسيان WHERE فيتحدّث كل صف في الجدول دفعة واحدة بلا رجعة
- التعديل المباشر في بيئة الإنتاج دون اختبار الشرط أولًا بـ SELECT مطابق
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار SQL الكامل بالعربي.