استفاده از UPDATE با شرط

به‌روزرسانی داده‌ها با دستور UPDATE در MySQL

دستور UPDATE یکی از پرکاربردترین دستورات در MySQL برای تغییر داده‌های موجود در جداول است. این دستور به شما امکان می‌دهد مقادیر یک یا چند ستون را در رکوردهای مشخصی از جدول تغییر دهید.

نکته کلیدی: همیشه قبل از اجرای UPDATE از WHERE استفاده کنید تا از تغییر ناخواسته تمام رکوردهای جدول جلوگیری شود.

ساختار پایه دستور UPDATE

سینتکس اصلی دستور UPDATE به صورت زیر است:

عنصر توضیح
UPDATE کلمه کلیدی شروع دستور
نام جدول جدولی که می‌خواهید داده‌هایش را تغییر دهید
SET تعیین ستون‌ها و مقادیر جدید
WHERE شرط برای انتخاب رکوردهای خاص (اختیاری اما حیاتی)

انواع شرط‌های UPDATE

می‌توانید از انواع مختلفی از شرط‌ها با دستور UPDATE استفاده کنید:

  1. شرط ساده: WHERE id = 5
  2. شرط مرکب: WHERE age > 18 AND status = 'active'
  3. شرط با LIKE: WHERE name LIKE 'علی%'
  4. شرط با IN: WHERE category_id IN (1, 5, 7)

مثال عملی: فرض کنید می‌خواهید قیمت تمام محصولات دسته‌بندی شماره 3 را 10 درصد افزایش دهید:

UPDATE products
SET price = price * 1.1
WHERE category_id = 3;

نکات ایمنی در استفاده از UPDATE

  • همیشه قبل از اجرای UPDATE اصلی، یک SELECT با همان شرط اجرا کنید تا مطمئن شوید رکوردهای درستی انتخاب می‌شوند.
  • در محیط‌های تولیدی از تراکنش‌ها (Transactions) استفاده کنید تا در صورت بروز خطا بتوانید تغییرات را برگردانید.
  • از LIMIT برای محدود کردن تعداد رکوردهای به‌روز شده استفاده کنید، مخصوصاً هنگام کار با جداول بزرگ.

برای یادگیری عمیق‌تر و مثال‌های پیشرفته‌تر می‌توانید از ادامه مطلب استفاده کنید.


هشدار مهم: عدم استفاده از شرط WHERE در دستور UPDATE باعث به‌روزرسانی تمام رکوردهای جدول می‌شود که ممکن است فاجعه‌بار باشد!