تخطَّ إلى المحتوى

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 الكامل بالعربي.