گروه مقاله : SQL Server
تاريخ انتشار : 1394/01/30 - 16:59
كد :204
دستور DELETE برای پاک کردن رکوردها(سطرها) در جدول استفاده می شود.
فرم دستور DELETE در SQL :
DELETE FROM table_name
WHERE some_column=some_value;
نکته : به WHERE Clause در دستور SQL DELETE دقت کنید.
WHERE Clause مشخص می کند که چه رکورد یا رکوردهایی باید پاک شوند.اگر WHERE Clause را حذف کنید،تمام رکوردها پاک خواهند شد.
نسخه نمایشی پایگاه داده :
در این آموزش ما از نمونه ی پایگاه داده معروف Northwind استفاده می کنیم .
در زیر بخشی از جدول "Customers" آورده شده است :
CustomerID |
CustomerName |
ContactName |
Address |
City |
PostalCode |
Country |
1
|
Alfreds Futterkiste |
Maria Anders |
Obere Str. 57 |
Berlin |
12209 |
Germany |
2 |
Ana Trujillo Emparedados y helados |
Ana Trujillo |
Avda. de la Constitución 2222 |
México D.F. |
05021 |
Mexico |
3 |
Antonio Moreno Taquería |
Antonio Moreno |
Mataderos 2312 |
México D.F. |
05023 |
Mexico |
4
|
Around the Horn |
Thomas Hardy |
120 Hanover Sq. |
London |
WA1 1DP |
UK |
5 |
Berglunds snabbköp |
Christina Berglund |
Berguvsvägen 8 |
Luleå |
S-958 22 |
Sweden |
مثال DELETE در SQL :
فرض کنید می خواهیم مشتری "Alfreds Futterkiste" را از جدول "Customers" حذف کنیم.
از دستور SQL زیر استفاده می کنیم :
DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders';
جدول"Customers" اکنون به این صورت می باشد :
CustomerID |
CustomerName |
ContactName |
Address |
City |
PostalCode |
Country |
2 |
Ana Trujillo Emparedados y helados |
Ana Trujillo |
Avda. de la Constitución 2222 |
México D.F. |
05021 |
Mexico |
3 |
Antonio Moreno Taquería |
Antonio Moreno |
Mataderos 2312 |
México D.F. |
05023 |
Mexico |
4
|
Around the Horn |
Thomas Hardy |
120 Hanover Sq. |
London |
WA1 1DP |
UK |
5 |
Berglunds snabbköp |
Christina Berglund |
Berguvsvägen 8 |
Luleå |
S-958 22 |
Sweden |
پاک کردن تمام اطلاعات :
امکان پذیر است که تمام سطرهای یک جدول حذف شود بدون اینکه خود جدول پاک شود.این بدین معنی است که ساختار جدول،ویژگی ها و Indexهای آن دست نخورده باقی خواهند ماند :
DELETE FROM table_name;
or
DELETE * FROM table_name;
نکته : زمانی که رکوردها را پاک می کنید خیلی دقت کنید.این دستور قابل برگشت نیست.