في لغة SQL، تُستخدم خاصية UPDATE لتعديل البيانات الموجودة في جدول. تُمكنك من تغيير قيم عمود واحد أو أكثر في صف واحد أو أكثر بناءً على شروط مُحددة.

الصيغة الأساسية لعبارة UPDATE:

SQL
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  • UPDATE: الكلمة المفتاحية التي تُشير إلى أننا سنُجري عملية تحديث.
  • table_name: اسم الجدول الذي نريد تحديث البيانات فيه.
  • SET: الكلمة المفتاحية التي تُستخدم لتحديد الأعمدة التي سيتم تحديثها والقيم الجديدة لها.
  • column1 = value1, column2 = value2, ...: قائمة بالأعمدة وقيمها الجديدة. يُمكن تحديث أكثر من عمود في نفس العبارة بفصلها بفواصل.
  • WHERE condition: شرط اختياري يُحدد الصفوف التي سيتم تحديثها. إذا لم يتم تحديد شرط WHERE، سيتم تحديث جميع الصفوف في الجدول.

شرح العناصر:

  • table_name: يجب أن يكون اسم الجدول موجودًا في قاعدة البيانات.
  • column1 = value1: يُحدد اسم العمود المراد تحديثه والقيمة الجديدة التي سيتم وضعها فيه. يُمكن أن تكون القيمة ثابتة (مثل name = 'John') أو تعبيرًا (مثل salary = salary * 1.1 لزيادة الراتب بنسبة 10%).
  • WHERE condition: يُستخدم لتحديد الصفوف التي سيتم تحديثها. يُمكن استخدام عوامل المقارنة (=, !=, >, <, >=, <=)، والعوامل المنطقية (AND, OR, NOT)، وعبارات أخرى في الشرط.

أمثلة:

  1. تحديث قيمة عمود واحد في صف واحد:

لنفترض أن لدينا جدولًا اسمه employees يحتوي على الأعمدة id و name و salary. لتحديث راتب الموظف الذي لديه id = 1 إلى 5000، نستخدم العبارة التالية:

SQL
UPDATE employees
SET salary = 5000
WHERE id = 1;
  1. تحديث قيم عدة أعمدة في صف واحد:

لتحديث اسم وراتب الموظف الذي لديه id = 2:

SQL
UPDATE employees
SET name = 'Jane Doe', salary = 6000
WHERE id = 2;
  1. تحديث قيم أعمدة في عدة صفوف:

لتحديث رواتب جميع الموظفين الذين يعملون في قسم معين (لنفترض أن لدينا عمودًا اسمه department):

SQL
UPDATE employees
SET salary = salary * 1.05
WHERE department = 'Sales'; -- زيادة الرواتب بنسبة 5% لقسم المبيعات
  1. تحديث جميع الصفوف في الجدول (بدون شرط WHERE):

لتحديث قيمة عمود معين في جميع الصفوف (يجب استخدامه بحذر):

SQL
UPDATE employees
SET active = 1; -- جعل جميع الموظفين نشطين

ملاحظات مهمة:

  • استخدام WHERE بحذر: من الضروري استخدام شرط WHERE لتحديد الصفوف التي سيتم تحديثها. إذا لم يتم استخدام WHERE، سيتم تحديث جميع الصفوف في الجدول، وهو ما قد يكون غير مرغوب فيه.
  • التعامل مع القيم النصية: يجب وضع القيم النصية بين علامتي اقتباس مفردة (').
  • التعامل مع القيم الفارغة (NULL): لتحديث قيمة عمود إلى NULL، استخدم الكلمة المفتاحية NULL مباشرةً (مثل SET column1 = NULL).
  • التحقق من التغييرات: قبل تنفيذ عبارة UPDATE، يُفضل إجراء استعلام SELECT مع نفس شرط WHERE للتأكد من أنك ستُحدث الصفوف المطلوبة.

مثال كامل:

لنفترض أن لدينا جدول products بالهيكل التالي:

| id | name | price | quantity | | -- | ----------- | ----- | -------- | | 1 | Laptop | 1200 | 10 | | 2 | Mouse | 25 | 50 | | 3 | Keyboard | 75 | 20 |

لتحديث سعر اللابتوب (id=1) إلى 1300 وزيادة كمية الكيبورد (id=3) بمقدار 5:

SQL
UPDATE products
SET price = 1300
WHERE id = 1;

UPDATE products
SET quantity = quantity + 5
WHERE id = 3;

بعد تنفيذ هذه العبارات، سيصبح الجدول كالتالي:

| id | name | price | quantity | | -- | ----------- | ----- | -------- | | 1 | Laptop | 1300 | 10 | | 2 | Mouse | 25 | 50 | | 3 | Keyboard | 75 | 25 |

باختصار، تُعتبر عبارة UPDATE أداة قوية لتعديل البيانات في قواعد البيانات SQL، ولكن يجب استخدامها بحذر مع شرط WHERE لتجنب التغييرات غير المقصودة.