Drop یا Delete در SQL سرور | از کاربردها تا تفاوت بین آنها
سلام به علاقمندان سافت پلاس و همینطور دوست داران یادگیری کار با نرم افزار SQL سرور . امروز می خواهیم به سراغ دو تا دستور Drop و Delete در SQL سرور برویم .
می خواهیم :
– با کاربرد و عملکرد این دو تا دستور توی SQL سرور بطور کامل آشنا بشویم .
– با تفاوتی که این دو تا دستور با همدیگر دارند صحبت کنیم .
– و همینطور کلی نکته کاربردی در باره دو تا دستور Drop و Delete در SQL سرور هست که توی این مطلب می خواهم آنها را بررسی کنیم .
من علیرضا شهرآئینی هستم و توی این مطلب همه آن چیزی که در کار با این دو تا دستور به آن احتیاج پیدا خواهید کرد را به شما آموزش خواهم داد .
پس از شما دعوت می کنم که من را تا انتهای این آموزش همراهی کنید .
فهرست محتوا
دستور Delete در SQL سرور
اول برویم به سراغ دستور Delete . مطمئنا با کلمه delete خیلی جاها برخورد داشتید و خیلی خوب می دانید که از این دستور در داخل نرم افزار های مختلف می شود برای حذف کردن یک چیزی استفاده کرد .
ما توی SQL سرور هم یک همچین دستوری داریم اما قرار است با استفاده از آن چه چیز یا چیزهایی را از داخل sql سرور خودمان حذف کنیم و اصلا چطور باید این کار را انجام بدهیم .
شکل کلی دستور Delete بصورت تصویر زیر است
با توجه به شکل کلی دستور بالا چند تا حالت پیش می آید که در زیر همه آنها را با هم بررسی می کنیم .
حالت اول : حذف همه اطلاعات یک جدول به کمک دستور Delete
فرض کنید که در داخل اس کو ال سرور یک جدولی دارید و در داخل آن جدول 10 تا عنوان ستون اطلاعات وجود دارد و اطلاعات مورد نظر شما هم در داخل سطرهای آن جدول ذخیره شده اند .
به مرور تعداد این سطرها زیاد شده و به عدد 10 هزار سطر رسیده اند . حالا شما می خواهید همه این 10 هزار سطر را به صورت یکجا از این جدول حذف کنید .
برای این کار چه ایده ای دارید ؟
ساده ترین کار این است که با یک خط کد ساده از SQL سرور بخواهید که همه اطلاعات موجود در ردیف های این جدول را برایتان حذف کند .
مثلا به کدهای زیر نگاه کنید .
Dlelete From tbl_books
توی کد بالا فرض شده که شما در داخل دیتابیس تان یک جدولی دارید به اسم tbl_books که با استفاده از دستور delete از برنامه می خواهید که هر تعداد ردیفی که حاوی اطلاعات در این جدول وجود دارد را برایتان حذف کند .
حذف بخشی از اطلاعات مورد نظر به کمک دستور Delete
کد های قبلی همه اطلاعات موجود در یک جدول را برایتان حذف می کند .
اما اگر بخواهید نه همه ردیف ها; که فقط foad ردیف هایی که مورد نظر شماست حذف شود باید چه کاری انجام بدهید ؟
خب اینجا چند تا حالت وجود دارد . اگر موافقید با هم برویم و این حالت ها را با هم بررسی کنیم .
حالت اول : حذف اطلاعات با استفاده از دستور Where
فرض کنید که می خواهید اطلاعاتی را که کد ردیف آنها 65 است را از جدول خودتان حذف کنید .
برای این کار از کدی مثل کدهای زیر می توانید استفاده کنید .
Delete From tbl_books
where id=65
حالت دوم: حذف 20 رکورد بالایی
فرض کنید که می خواهید 20 ردیف اطلاعات از بالای جدول خودتان را حذف کنید .
برای این کار کدهای زیر کمکتان می کند .
DELETE Top(20)
FROM tbl_books
فرض کنید که در جدولی که در کدهای بالا مشخص شده 50 ردیف اطلاعات وجود اشته باشد . اگر این کدها اجرا شوند از ردیف شماره 1 تا ردیف شماره 20 اطلاعات موجود در جدول حذف می شوند .
مطلب پیشنهادی : انواع داده ها در SQL سرور |آشمایی با آنها +نکات کاربردی
حالت سوم: حذف 10 درصد از رکوردها
این بار برای برنامه تعداد مشخص نمی کنیم بلکه می خواهیم که مثلا 10 ذرصد از کل اطلاعات موجود در جدول را برای ما حذف کند . برای این کار از کدهایی مثل کد زیر استفاده می کنیم .
DELET 10 percent
FROM tbl_books
این کدها همه اطلاعات موجود در جدول را بدست آورده 10 درصد آن را محاسبه و از ابتدای جدول شما حذف خواهد کرد .
آشنایی با دستور Drop
تا به اینجا با دستور Delete و کاربرد آن آشنا شدیم . حالا می خواهیم به سراغ دستور دیگری برویم به اسم Drop .تفاوتی که بین این دو تا دستور وجود دارد در این است که با استفاده از دستور Delete فقط می شود اطلاعات موجود در ردیف های جداول را حذف کرد .
اما اگر بخواهید از مجموعه دیتابیس خودتان یک یا چند تا جدول را به طور کلی حذف کنید نیاز به استفاده از دستوری به اسم Drop دارید .
شکل کلی دستور Drop برای این کار به صورت زیر است .
Drop tablename
برای حذف جدول مورد نظر فقط کافی است که اسم جدول را جلوی این دستور بیاورید .
همین جا چند تا نکته را در مورد این دستور با هم بررسی کنیم .
شما با استفاده از این دستور نمی توانید جدولی را که از طریق کلید اولیه با یک یا چند تا جدول دیگر در ارتباط است را حذف کنید . مگر اینکه جدولی که در این رابطه نقش والد دارد را هم حذف کنید
اگر می خواهید یک جدول و کلیه جداول مرتبط به آن را با استفاده از یک دستور Drop حذف کنید حتما باید اول اسم جدول والد و بعد جدول فرزند را جلوی این دستور بیاورید .
اگر می خواهید یک جدول و کلیه جداول مرتبط به آن را با استفاده از یک دستور Drop حذف کنید حتما باید اول اسم جدول والد و بعد جدول فرزند را جلوی این دستور بیاورید .
دیدگاهتان را بنویسید