كيف أزيد قيمة عمود بنسبة مئوية باستخدام UPDATE؟

سهلقراءة دقيقةآخر تحديث 2 أكتوبر 2026

SQL قواعد البيانات

الإجابة

لا يشترط أن تكون القيمة الجديدة في UPDATE رقمًا ثابتًا. يمكن كتابة تعبير حسابي يعتمد على القيمة الموجودة في كل صف. لزيادة سعر بنسبة عشرة بالمئة نضرب السعر في 1.10، بينما تعني إضافة العدد 10 زيادة ثابتة مقدارها عشر وحدات، مهما كان السعر الأصلي.

يجري حساب التعبير لكل صف مستهدف بصورة مستقلة. إذا كان سعر كتاب خمسين، تصبح قيمته خمسة وخمسين، وإذا كان سعر كتاب آخر مئة، تصبح قيمته مئة وعشرة. لهذا تعد الزيادة النسبية مختلفة عن استبدال جميع الأسعار برقم واحد. ويظل شرط WHERE مسؤولًا عن تحديد الكتب التي يشملها التعديل.

مثال

UPDATE books
SET price = price * 1.10
WHERE id = 1;

استخدام عمود من نوع DECIMAL مناسب هنا لتخزين الأسعار بدقة محددة. لاحظ أن تكرار الأمر يزيد السعر مجددًا اعتمادًا على قيمته بعد التنفيذ السابق.

باختصار: اكتب الحساب داخل SET عندما تريد تعديل القيمة الحالية بنسبة أو مقدار محدد.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

ما قيمة price التي يعرضها الاستعلام الأخير بعد تنفيذ الكود؟

CREATE TABLE books (
  id INT PRIMARY KEY,
  price DECIMAL(8,2) NOT NULL
);
INSERT INTO books VALUES (1, 80.00);
UPDATE books SET price = price * 1.10 WHERE id = 1;
SELECT price FROM books WHERE id = 1;