استفاده از UPDATE با شرط
بهروزرسانی دادهها با دستور UPDATE در MySQL
دستور UPDATE یکی از پرکاربردترین دستورات در MySQL برای تغییر دادههای موجود در جداول است. این دستور به شما امکان میدهد مقادیر یک یا چند ستون را در رکوردهای مشخصی از جدول تغییر دهید.
نکته کلیدی: همیشه قبل از اجرای UPDATE از WHERE استفاده کنید تا از تغییر ناخواسته تمام رکوردهای جدول جلوگیری شود.
ساختار پایه دستور UPDATE
سینتکس اصلی دستور UPDATE به صورت زیر است:
عنصر | توضیح |
---|---|
UPDATE | کلمه کلیدی شروع دستور |
نام جدول | جدولی که میخواهید دادههایش را تغییر دهید |
SET | تعیین ستونها و مقادیر جدید |
WHERE | شرط برای انتخاب رکوردهای خاص (اختیاری اما حیاتی) |
انواع شرطهای UPDATE
میتوانید از انواع مختلفی از شرطها با دستور UPDATE استفاده کنید:
- شرط ساده: WHERE id = 5
- شرط مرکب: WHERE age > 18 AND status = 'active'
- شرط با LIKE: WHERE name LIKE 'علی%'
- شرط با 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 باعث بهروزرسانی تمام رکوردهای جدول میشود که ممکن است فاجعهبار باشد!