يتم استخدام عبارة SQL UPDATE لتعديل السجلات الموجودة في الجدول. يسمح لك بتغيير قيمة عمود واحد أو أكثر لصفوف محددة باستخدام جملة WHERE. بدون شرط WHERE سيتم تحديث جميع الصفوف في الجدول.
مثال: أولا سوف نقوم بذلك يخلق قاعدة بيانات SQL تجريبية وجدول سنستخدم فيه أمر بيان التحديث.
استفسار:
UPDATE Employees
SET Salary = 65000
WHERE Name = 'Bob';
بناء الجملة:
UPDATE table_name
SET column1 = value1 column2 = value2...
WHERE condition
- اسم_الجدول: اسم الجدول الذي تريد تحديثه.
- تعيين: الأعمدة (الأعمدة) التي تريد تحديثها وقيمها الجديدة.
- أين: يقوم بتصفية الصفوف المحددة التي تريد تحديثها.
ملحوظة: تقوم الكلمة الأساسية SET بتعيين قيم جديدة للأعمدة بينما تحدد جملة WHERE الصفوف التي سيتم تحديثها. بدون WHERE سيتم تحديث جميع الصفوف.
أمثلة على بيان تحديث SQL
لنبدأ بإنشاء جدول العملاء مع بعض نماذج البيانات. يحتوي هذا الجدول على المعرف الفريد لكل عميل والاسم الأخير ورقم الهاتف والبلد. سوف نستخدمها لتوضيح كيفية عمل عبارة UPDATE في SQL.
استفسار:
إنشاء عميل الجدول (
معرف العميل INT المفتاح الأساسي
اسم العميل VARCHAR(50)
الاسم الأخير VARCHAR(50)
البلد فارتشار(50)
العمر
هاتف فارتشار(15)
);
- إدراج بيانات العينة
أدخل في العميل (معرف العميل، اسم العميل، اسم العائلة، البلد، العمر، الهاتف)
قيم(1 'ليام' 'براون' 'المملكة المتحدة' 25 '441234567890')
(2 "صوفيا" "مارتينيز" "إسبانيا" 23 "341234567890")
(3 "أكيرا" "تاناكا" "اليابان" 26 "811234567890")
(4 'هانز' 'مولر' 'ألمانيا' 27 '491234567890')
(5 'أوليفيا' 'دوبوا' 'فرنسا' 24 '331234567890')؛
الإخراج:
المثال 1: تحديث عمود واحد باستخدام عبارة UPDATE
لدينا جدول العملاء ونريد تحديث اسم العميل حيث يبلغ العمر 22 عامًا.
استفسار:
UPDATE Customer
SET CustomerName = 'Isabella'
WHERE Age = 23;
الإخراج:
توضيح:
أسئلة المقابلة في لغة جافا
- يقوم الاستعلام بتحديث اسم العميل إلى "Isabella"
- إنه يؤثر فقط على الصف الذي يكون فيه العمر = 23
- يستخدم لتعديل البيانات الموجودة في سجل معين.
المثال 2: تحديث أعمدة متعددة باستخدام عبارة UPDATE
نحتاج إلى تحديث كل من اسم العميل والبلد لمعرف عميل محدد.
استفسار:
UPDATE Customer
SET CustomerName = 'John'
Country = 'Spain'
WHERE CustomerID = 1;
الإخراج :
توضيح:
- يستهدف الاستعلام الصف حيث معرف العميل = 1.
- يقوم بتحديث اسم العميل إلى "John" والبلد إلى "Spain".
- يتم تحديث كلا العمودين في وقت واحد في عبارة SQL واحدة.
ملحوظة: لتحديث أعمدة متعددة استخدمنا الفاصلة () لفصل أسماء وقيم عمودين.
مثال 3: حذف عبارة WHERE في بيان التحديث
إذا حذفنا جملة WHERE عن طريق الخطأ، فسيتم تحديث جميع الصفوف في الجدول وهو خطأ شائع. فلنقم بتحديث اسم العميل لكل سجل في الجدول:
استفسار:
UPDATE Customer
SET CustomerName = 'ALice';
الإخراج
توضيح:
- يقوم الاستعلام بتحديث كل صف في جدول العملاء.
- يقوم بتعيين عمود اسم العميل إلى "أليس" لكافة السجلات.
- نظرًا لعدم وجود جملة WHERE، ينطبق التغيير على الجدول بأكمله.