akofaraji.ir
UPDATE و DELETE در SQL
نوشته شده در تاریخ 07 مهر 1401
نظرات: 0 امتیاز: 5 زمان مطالعه: 15 دقیقه
 
 
دستورهای UPDATE و DELETE در SQL
 

دستور UPDATE

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

ساختار کلی این دستور به شکل زیر است:

 

قبل از هر کار مانند همیشه، نگاهی به جدول Customers می اندازیم:

 

قسمتی از جدول customer ها در پایگاه داده ی Northwind
قسمتی از جدول customer ها در پایگاه داده ی Northwind

 

حال، مثال ها را روی این جدول پیاده میکنیم.

 

مثال های دستور UPDATE

 

دستور SQL زیر اطلاعات اولین مشتری را بروزرسانی می کند (یعنی جایی که CustomerID = 1 باشد)؛ قرار است به ستون های ContactName و City مقادیر جدیدی بدهیم:

 

برای اجرای این دستور در پایگاه داده ی Northwind روی این لینک کلیک کنید. پس اجرای این کد پیام زیر به شما نمایش داده خواهد شد:

You have made changes to the database. Rows affected: 1

 

حال برای مشاهده ی جدول و نتیجه ی تغییرات از دستوری استفاده می کنیم که در جلسات اول با آن آشنا شدیم:

 

با اجرای این دستور خواهید دید که جدول داده ی ما به این شکل در می آید:

 

قسمتی از جدول cutomers پس از اجرای دستور UPDATE
قسمتی از جدول cutomers پس از اجرای دستور UPDATE

 

همانطور که می بینید ستون های ContactName و City تغییر کرده اند.

 

اگر بخواهیم چندین record را همزمان بروزرسانی کنیم چطور؟ اگر یادتان باشد گفتیم که WHERE مسئول تعیین شرط و محدودیت است بنابراین با استفاده از آن می توان چندین ردیف و record مختلف را برروزرسانی کرد. مثال:

 

به نظر شما این دستور چه کاری انجام می دهد؟

این دستور می گردد و تمام record هایی را که در آن ها مقدار country مساوی با Mexico باشد پیدا می کند و مقدار contactname را در تمام این ردیف ها به Juan تغییر میدهد! برای انجام این کار روی پایگاه داده ی Northwind روی این لینک کلیک کنید.

 

برای مشاهده ی تغییرات اعمال شده از کد های جلسات قبل استفاده می کنیم:

 

با این دستور تمام ردیف هایی که در آن ها مقدار country مساوی با Mexico باشد به ما برمیگردد. می توان به راحتی دید که همه ی contactname ها به Juan تغییر کرده است.

هشدار: توجه به ساختار دستور UPDATE بسیار مهم است و مهم ترین قسمت آن نیز دستور WHERE می باشد. اگر یادتان باشد، WHERE یک شرط را برای دستور SQL وضع می کرد تا دامنه ی انتخاب یا تغییر را کاهش دهد. حالا اگر به هر دلیلی فراموش کنید که WHERE را قرار دهید، هیچ شرط و محدودیتی برای UPDATE نمی ماند و عملا تمام جدول شما آپدیت می شود و داده هایتان بر باد می رود!

 

به مثال زیر توجه کنید:

 

برای اجرای این دستور در پایگاه داده ی Northwind به این لینک مراجعه کنید. پس از اجرای آن با پیام زیر روبرو می شود:

You have made changes to the database. Rows affected: 92

 

می بینید که تمام 92 ردیف ما تغییر کرده اند و تمام ContactName ها به Juan تبدیل شده است!

 

برای آن که کدهایتان در جلسات بعد مانند هم باشد و با ما پیش بروید، پس از اجرای این دستور باید پایگاه داده یا restore کنید. برای انجام این کار به یکی از لینک های بالا که به Northwind می رود بروید و از سمت راست و بالای صفحه گزینه ی Restore Database را انتخاب کنید. مانند تصویر زیر:

 

گزینه ی Restore Database پایگاه داده را به شکل اولیه اش بر میگرداند
گزینه ی Restore Database پایگاه داده را به شکل اولیه اش بر میگرداند

 

دستور DELETE

 
دستور DELETE همانطور که از نامش پیداست برای حذف کردن داده های جدول به کار می رود.

ساختار کلی این دستور به شکل زیر است:

 

اگر پایگاه داده را restore کرده باشید، باید پایگاهی شبیه به این داشته باشید:

 

جدول Customers پس از Restore کردن پایگاه داده
جدول Customers پس از Restore کردن پایگاه داده

 

مثال های DELETE

 

دستور SQL زیر، مشتری به نام “Alfreds Futterkiste” را از جدول Customers حذف می کند:

 

برای اجرای این دستور در Northwind روی این لینک کلیک کنید.

 

پس از اجرای این دستور متوجه می شوید که یک ردیف از جدول ما کم شده است و حالا تنها 91 ردیف داریم. حال می توانید با دستور زیر دنبال این مشتری بگردید:

 

خواهید دید که مشتری اول حذف شده است و هیچ اثری از آن نیست.

 
هشدار: نکته ی بسیار مهم اینجاست که نباید بدون حساب و کتاب از دستور DELETE استفاده کنید. بار ها پیش آمده است که حتی برنامه نویسان با سابقه با اشتباه در قسمت شرط (WHERE) تمام پایگاه داده ی خود را حذف کرده اند! عواقب استفاده ی اشتباه از دستور DELETE میتواند کسب و کار شما را نابود کند! در استفاده از این دستور به شدت احتیاط کنید.

 

در مثال زیر تمام ردیف ها حذف خواهند شد:

 

برای اجرای این دستور در Northwind روی این لینک کلیک کنید. اگر پس از اجرای این دستور دستور زیر را اجرا کنید به پیغام “No result” برخواهید خورد:

 

نکته: با اینکه تمام ردیف ها حذف شده اند، باید توجه داشت که هنوز هم ساختار جدول حفظ می شود. یعنی ردیف ها (اطلاعات داخل جدول) حذف می شوند اما خودِ جدول دست نخورده باقی می ماند. برای حذف خود جدول دستورات دیگری موجود است که در جلسات بعد با آن ها آشنا خواهیم شد.

 

خلاصه ی مقاله

 

در این قسمت با دو دستور بسیار مهم، یعنی UPDATE و DELETE، آشنا شدیم و برای هر کدام مثال هایی ذکر کردیم. از نکات بسیار مهم در رابطه با این دو دستور، شرطِ استفاده (WHERE) بود که می توانست باعث تغییرات ناخواسته و بعضا مخرب شود و نیازمند توجه ویژه ی ما بود. امیدوارم از این قسمت لذت برده باشید.

 

منبع: سایت روکسو

 

اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید