خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


تفاوت DELETE و TRUNCATE و DROP در SQL Server

تفاوت DELETE و TRUNCATE و DROP در SQL Server
در این پست تصمیم داریم به بررسی DELETE و TRUNCATE و DROP در SQL Server بپردازیم و در نهایت به سراغ تفاوت های DELETE و TRUNCATE خواهیم رفت و آن را بررسی می کنیم و در آخر تفاوت DROP و TRUNCATE ر ابررسی خواهیم کرد.

نرم افزار سامانه مودیان راهکار
از DELETE برای حذف رکوردها یا ردیف در یک جدول SQL Server استفاده می کنیم. Syntax استفاده از DELTE به فرم زیر می باشد:



DELETE FROM table_name [WHERE condition];

در Syntax فوق به جای table_name باید نام جدول خود را جایگزین کنید.
قسمت WHERE در عبارت فوق اختیاری است و با بوجود WHERE، فقط رکوردهای مشخص شده از جدول حذف می شوند و در غیر اینصورت هم رکوردها حذف خواهند شد.
حتما در استفاده از دستور DELTE نهیات دقت خود را بکار بگیرید.
در کوئری زیر قصد داریم که از جدول employee، فقط رکوردی که ID آن برابر با 100 است را حذف کنیم.

DELETE FROM employee WHERE id = 100;

پس شرط WHERE در کوئری فوق، مشخص کرد که دقیقا چه رکوردی از جدول تعیین شده باید حذف شود و اگر قصد حذف همه رکوردهای این جدول را دارید، بدون WHERE دستور DELETE را اجرا کنید.

DELETE FROM employee;

خب، حالا به سراغ TRUNCATE می رویم. با TRUNCATE می توانید به طور کامل رکوردهای جدول را از بین برده و فضای اشغال شده توسط رکوردهای جدول را آزاد کنید.
Syntax آن به فرم زیر می باشد:

TRUNCATE TABLE table_name;

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

TRUNCATE TABLE employee;


Difference between DELETE and TRUNCATE Statements:

استفاده از DELETE می توانید رکوردهای یک جدول را به طور کامل حذف کنید و با وجود WHERE شروط لازم برای حذف رکوردهای مشخصی را تعیین می کنید. اگر WHERE در دستور DELETE نداشته باشید، همه رکوردها حذف میشوند ولی فضای جدول آزاد نمی شود ضمن اینکه ستون های identity ریست نخواهند شد. رکورد جدیدی که در حجدول اضافه کنید، با توجه به آخرین ID ثبت شده(حتی با اینکه کلیه رکوردها را حذف کرده اید) اضافه می شود.
در TRUNCATE اولا همه رکوردها یک جدول حذف شده و فضای آن جدول هم آزاد می شود وضمنا کلیه ستون های identity ریست می شوند و انکار در این جدول هیچ رکوردی قبلا اضافه نشده بوده است.

SQL DROP Statement:

دستور DROP برای حذف یک شیء از دیتابیس مورد استفاده قرار می گیرد. اگر جدولی را از دیتابیس DROP کنید کلیه رکوردها و ساختار آن جدول از دیتابیس از بین می رود. وقتی جدولی DROP شود، برگرداندن آن غیرممکن است مگر آنکه بک آپ داشته باشید. پس در زمان استفاده از دستور DROP بسیار مراقب باشید(خصوصا در محیط واقعی).
Syntax استفاده از دستور DROP به فرم زیر می باشد.

DROP TABLE table_name;

به عنوان مثال، با اسکریپت زیر جدول employee را از دیتابیس مربوطه DROP می کنیم:

DROP TABLE employee;

Difference between DROP and TRUNCATE Statement:

با drop شدن یک جدول، کلیه ارتباطات و Reference های آن با جداول دیگر و از جداول دیگر با این جدول، بی اعتبار خواهد شد. کلیه دسترسی های تعیین شده به این جدول از بین خواهد رفت. اگر می خواهید دوباره از جدول استفاده کنید ، باید با آن دوباره ایجاد کنید ضمن اینکه سایر مواردی که توضیح داده شد هم باید دوباره دستی ایجاد کنید. ولی وقتی جدولی را truncate کنید همه چیز به غیر از رکوردهای جدول سرجای خود باقی خواهد ماند.


نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز