دستور DELETE در SQL برای حذف رکوردهای موجود در یک جدول استفاده می‌شود. با استفاده از این دستور، می‌توان داده‌های خاصی را حذف کرد یا کل جدول را خالی کرد، بدون اینکه ساختار جدول تغییر کند! 🚀

📖 فهرست مطالب

  1. DELETE در SQL چیست؟
  2. 📌 نحوه استفاده از DELETE در SQL
  3. 🚨 مثال: حذف یک رکورد خاص
  4. 🧹 حذف همه رکوردها بدون حذف جدول
  5. ❌ حذف کامل جدول با DROP TABLE

🎯 دستور DELETE در SQL چیست؟

دستور DELETE در SQL به شما این امکان را می‌دهد که یک یا چند رکورد خاص را از یک جدول حذف کنید. اگر WHERE را مشخص نکنید، تمام رکوردهای جدول حذف می‌شوند! پس باید با دقت از این دستور استفاده کنید. ⚠️

📌 نحوه استفاده از DELETE در SQL

🔹 سینتکس کلی:

DELETE FROM table_name WHERE condition;

توضیح:

  • table_name: نام جدولی که می‌خواهید از آن داده حذف کنید.
  • condition: شرطی که مشخص می‌کند کدام رکوردها باید حذف شوند.

⚠️ هشدار مهم: اگر WHERE را ننویسید، تمام رکوردهای جدول حذف می‌شوند!


🚨 نکات مهم هنگام حذف داده‌ها

✅ همیشه قبل از اجرای دستور DELETE، از داده‌های مهم نسخه پشتیبان (Backup) بگیرید.
✅ از دستور SELECT برای بررسی رکوردهایی که قصد حذفشان را دارید، استفاده کنید.
✅ در صورت نیاز به حذف همه رکوردها ولی حفظ ساختار جدول، از DELETE بدون WHERE استفاده کنید.
✅ برای حذف کامل جدول از DROP TABLE استفاده کنید.

📊 مثال: حذف یک رکورد خاص

جدول نمونه Customers را در نظر بگیرید:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

🔹 حذف مشتری “Alfreds Futterkiste”

DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste';

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

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

🧹 حذف همه رکوردها بدون حذف جدول

گاهی لازم است که همه رکوردهای یک جدول را حذف کنیم اما ساختار جدول را نگه داریم. برای این کار می‌توان از DELETE بدون WHERE استفاده کرد:

🔹 حذف تمام رکوردهای جدول Customers

DELETE FROM Customers;

نتیجه:

  • تمام داده‌های جدول حذف می‌شوند.
  • ساختار جدول (ستون‌ها، ایندکس‌ها، کلیدهای اصلی و خارجی) حفظ می‌شود.

⚠️ توجه: این دستور غیرقابل بازگشت است، پس با احتیاط از آن استفاده کنید.

❌ حذف کامل جدول با DROP TABLE

اگر می‌خواهید جدول را به‌طور کامل حذف کنید، از DROP TABLE استفاده کنید. این دستور نه‌تنها داده‌ها بلکه کل جدول را از پایگاه داده حذف می‌کند.

🔹 حذف جدول Customers

DROP TABLE Customers;

نتیجه:

  • کل جدول Customers از پایگاه داده حذف می‌شود.
  • امکان بازیابی داده‌ها و ساختار جدول وجود ندارد مگر اینکه از قبل Backup داشته باشید!

📌 جمع‌بندی

DELETE در SQL برای حذف یک یا چند رکورد استفاده می‌شود.
✔ اگر WHERE را ننویسید، همه رکوردها حذف می‌شوند.
✔ برای حذف کل داده‌ها بدون حذف جدول، از DELETE FROM table_name استفاده کنید.
✔ برای حذف کل جدول، DROP TABLE را اجرا کنید.
✔ قبل از حذف داده‌های مهم، حتما از آن‌ها بکاپ بگیرید!