Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

SQL में DELETE और DROP कमांड के बीच अंतर

SQL DELETE बनाम DROP: मुख्य अंतर

DELETE एक DML (डेटा मैनिपुलेशन लैंग्वेज) कमांड है जो टेबल से पंक्तियों को हटाता है। DROP एक DDL (डेटा डेफिनिशन लैंग्वेज) कमांड है जो पूरे डेटाबेस ऑब्जेक्ट्स (टेबल, इंडेक्स, व्यू, स्कीमा) को हटाता है।

तुलना तालिका

क्र.सं. पहलू DELETE DROP
1 उद्देश्य टेबल से कुछ या सभी पंक्तियों/रिकॉर्ड्स को हटाता है स्कीमा तत्वों को हटाता है: टेबल, इंडेक्स, व्यू, कंस्ट्रेंट, डेटाबेस
2 भाषा प्रकार DML (डेटा मैनिपुलेशन) DDL (डेटा डेफिनिशन)
3 क्लॉज फ़िल्टरिंग के लिए WHERE क्लॉज का उपयोग करता है कोई WHERE क्लॉज नहीं (पूरा ऑब्जेक्ट हटाता है)
4 रोलबैक रोलबैक किया जा सकता है (लॉग बफर में काम करता है) रोलबैक नहीं किया जा सकता (मेटाडेटा पर सीधे काम करता है)
5 मेमोरी स्पेस सभी पंक्तियाँ हटाने के बाद भी टेबल स्पेस बरकरार रखता है टेबल द्वारा उपयोग की गई मेमोरी स्पेस मुक्त करता है
6 समस्याएं बड़े डिलीट के लिए मेमोरी की कमी का कारण हो सकता है मेमोरी विखंडन का कारण हो सकता है

सिंटैक्स तुलना

-- DELETE: पंक्तियाँ हटाता है, टेबल रखता है
DELETE FROM employees WHERE department_id = 10;
DELETE FROM employees;  -- सभी पंक्तियाँ हटाता है (लेकिन टेबल संरचना रखता है)

-- DROP: पूरा ऑब्जेक्ट हटाता है
DROP TABLE employees;           -- टेबल हटाता है
DROP INDEX idx_name ON employees; -- इंडेक्स हटाता है
DROP VIEW employee_view;        -- व्यू हटाता है
DROP DATABASE company_db;       -- डेटाबेस हटाता है

TRUNCATE: मध्य मैदान

TRUNCATE TABLE employees;
  • DDL कमांड (DELETE की तरह DML नहीं)
  • तेज़: व्यक्तिगत पंक्ति हटाने को लॉग नहीं करता
  • पहचान रीसेट करता है: AUTO_INCREMENT काउंटर रीसेट करता है
  • रोलबैक नहीं कर सकता (अधिकांश डेटाबेस में)
  • WHERE क्लॉज नहीं - सभी पंक्तियाँ हटाता है

कब क्या उपयोग करें

परिदृश्यअनुशंसित
विशिष्ट पंक्तियाँ हटाएंDELETE WHERE ...
सभी पंक्तियाँ हटाएं, टेबल रखेंTRUNCATE TABLE
टेबल संरचना + डेटा पूरी तरह हटाएंDROP TABLE
इंडेक्स/व्यू/कंस्ट्रेंट हटाएंDROP INDEX/VIEW/CONSTRAINT

सुरक्षा विचार

  • DROP के लिए उन्नत विशेषाधिकार की आवश्यकता होती है
  • उत्पादन में DROP से पहले बैकअप लें
  • आकस्मिक DROP को रोकने के लिए विदेशी कुंजी कंस्ट्रेंट का उपयोग करें
  1. - SQL में Inner Join और Outer Join के बीच अंतर

    इस पोस्ट में, हम SQL में इनर जॉइन और आउटर जॉइन के बीच अंतर को समझेंगे। इनर जॉइन उपयोग किया जाने वाला क्लॉज INNER JOIN और JOIN है। यह दो या अधिक टेबल के संयुक्त टुपल को लौटाता है। जब कोई एट्रिब्यूट सामान्य नहीं होते, तो परिणाम खाली होता है। यदि टुपल्स की संख्या अधिक है, तो INNER JOIN, OUTER JOIN क

  1. कमांड प्रॉम्प्ट और Windows PowerShell के बीच अंतर कमांड प्रॉम्प्ट और Windows PowerShell के बीच अंतर

    Windows 10, Windows 8, और Windows 7, सभी बॉक्स से बाहर Windows PowerShell के साथ आते हैं। इसके साथ, कमांड प्रॉम्प्ट आया जो MS-DOS कमांड लाइन का उत्तराधिकारी था। एक ऑपरेटिंग सिस्टम में दो कमांड-लाइन टूल की उपस्थिति अक्सर उपयोगकर्ता को भ्रमित कर सकती है। आज, हम संक्षेप में चर्चा करेंगे कि कमांड प्रॉम्

  1. विंडोज पावरशेल और कमांड प्रॉम्प्ट के बीच अंतर विंडोज पावरशेल और कमांड प्रॉम्प्ट के बीच अंतर

    यदि आप विंडोज ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं, तो आपने अक्सर CMD या कमांड प्रॉम्प्ट का सामना किया होगा जैसा कि कई लोग जानते हैं। कमांड प्रॉम्प्ट एक कमांड-लाइन इंटरप्रेटर है जिसे विंडोज के सभी संस्करणों के साथ भेजा गया है, विंडोज NT से लेकर। कमांड प्रॉम्प्ट एक कमांड-लाइन इंटरफेस प्रदान करता है जो