SQL DELETE Statement
🔹 تعریف
-
دستور
DELETEبرای حذف رکوردها از یک جدول استفاده میشود. -
همراه با
WHEREمشخص میکنیم کدام رکوردها حذف شوند. -
اگر
WHEREننویسیم، همه رکوردهای جدول حذف میشوند (⚠️ خطرناک).
🔹 ساختار کلی
1️⃣ مثال ساده
جدول Customers:
| CustomerID | Name | City |
|---|---|---|
| 1 | Ali | Tehran |
| 2 | Sara | Shiraz |
| 3 | Reza | Mashhad |
کوئری:
🔹 مشتری با ID=2 حذف میشود.
2️⃣ حذف با شرط
🔹 تمام مشتریهایی که در شهر تهران هستند حذف میشوند.
3️⃣ حذف همه رکوردها (⚠️ خطرناک!)
🔹 همه رکوردهای جدول پاک میشوند ولی ساختار جدول باقی میماند.
4️⃣ حذف رکوردهای NULL
🔹 تمام رکوردهایی که ستون City مقدار NULL دارند حذف میشوند.
🔹 تفاوت DELETE و TRUNCATE
| ویژگی | DELETE | TRUNCATE |
|---|---|---|
| استفاده از WHERE | ✅ دارد | ❌ ندارد (همه حذف میشوند) |
| سرعت | کندتر (سطر به سطر حذف میکند) | خیلی سریعتر |
| بازگردانی | قابل بازگردانی با ROLLBACK (اگر در تراکنش باشد) | قابل بازگردانی نیست |
🔹 نکات مهم
-
همیشه با
WHEREاستفاده کن تا فقط رکوردهای مورد نظر حذف شوند. -
اگر قصد پاک کردن همه رکوردها داری و جدول کوچک است → از
DELETE
ولی اگر جدول خیلی بزرگ است و میخواهی سریع خالی شود → ازTRUNCATE. -
بعد از
DELETEمعمولاً باید دستور COMMIT (در بعضی DBMSها) اجرا شود.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React