इस लेख में, हम ड्रॉप एंड ट्रंकेट कमांड और इन दोनों कमांड के बीच के अंतर को जानेंगे और समझेंगे।
ड्रॉप कमांड क्या है?
ड्रॉप संरचित क्वेरी भाषा में एक डेटा परिभाषा भाषा कमांड है। SQL में ड्रॉप कमांड का उपयोग डेटाबेस टेबल से टेबल डेफिनिशन, डेटाबेस, इंडेक्स, व्यू, ट्रिगर्स और डेटा बाधाओं को हटाने या छोड़ने के लिए किया जाता है।
संरचित क्वेरी भाषा में, ड्रॉप कमांड का उपयोग रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) से तत्वों को छोड़ने के लिए किया जाता है।
डिलीट कमांड डेटा को एक बार निष्पादित करने के बाद वापस रोल कर सकता है, लेकिन ड्रॉप कमांड एक बार डेटा को वापस रोल नहीं कर सकता है। ड्रॉप कमांड का उपयोग मेमोरी को मुक्त करने के लिए किया जाता है जहां टेबल स्पेस संग्रहीत होता है क्योंकि ड्रॉप कमांड टेबल और उसकी सामग्री को स्थायी रूप से हटा देता है।
संरचित क्वेरी भाषा में ट्रंकेट कमांड की तुलना में ड्रॉप कमांड तेज है। लेकिन, ड्रॉप कमांड का निष्पादन समय धीमा है क्योंकि इसमें कई जटिलताएं हैं।
तालिका से एक या अधिक कॉलम हटाने के लिए, हम ALTER TABLE कमांड के साथ ड्रॉप कमांड का उपयोग करते हैं।
डेटाबेस को हटाने के लिए DROP कमांड का सिंटैक्स इस प्रकार है:
DROP DATABASE Database_Name;
उपरोक्त सिंटैक्स में, हमें उस डेटाबेस नाम को निर्दिष्ट करना होगा जिसे हम सिस्टम से हटाना चाहते हैं।
नोट:- डेटाबेस को हटाने के लिए DROP कमांड का उपयोग करने से पहले सावधान रहें क्योंकि ड्रॉप कमांड डेटाबेस से सभी ऑब्जेक्ट्स जैसे टेबल, इंडेक्स, व्यू, डेटाबेस में बनाए गए ट्रिगर को हटा देता है।
तालिका को हटाने का सिंटैक्स इस प्रकार है:
DROP TABLE Table_Name;
उपरोक्त सिंटैक्स में, हमें उस तालिका का नाम निर्दिष्ट करना होगा जिसे हम डेटाबेस से हटाना चाहते हैं।
एक ही डेटाबेस से एक ही स्टेटमेंट में कई टेबल को हटाने का सिंटैक्स इस प्रकार है:
DROP TABLE table1, table2, table3;
हम उपरोक्त सिंटैक्स का उपयोग करके एक ही डेटाबेस से कई तालिकाओं को हटा सकते हैं।
इंडेक्स को हटाने का सिंटैक्स इस प्रकार है:
DROP INDEX Index_Name;
हमें इंडेक्स कीवर्ड के ठीक बाद उपरोक्त सिंटैक्स में इंडेक्स नाम निर्दिष्ट करना होगा।
दृश्य को हटाने के लिए वाक्य रचना इस प्रकार है:
DROP VIEW View_Name;
हमें उपरोक्त सिंटैक्स में व्यू कीवर्ड के ठीक बाद व्यू नाम निर्दिष्ट करना होगा।
ALTER TABLE का उपयोग करके तालिका से बाधा को दूर करने के लिए वाक्य रचना इस प्रकार है:
ALTER TABLE Table_Name DROP CONSTRAINT Constraint_Name;
SQL में ALTER TABLE कमांड का उपयोग करके, हम टेबल से बाधा को हटा सकते हैं।
DROP कमांड का उदाहरण:
हम DROP कमांड का उपयोग करके कुछ उदाहरण लेंगे।
चरण 1: डेटाबेस बनाएं या मौजूदा डेटाबेस का उपयोग करें। हम DROP कमांड के लिए दो डेटाबेस का उपयोग करेंगे।
चरण 2: एक नई तालिका बनाएं या मौजूदा तालिका, अनुक्रमणिका, दृश्य का उपयोग करें।
उदाहरण 1: स्कूल डेटाबेस से तालिका छात्रों_सूचना को छोड़ने के लिए एक प्रश्न लिखें।
हम सबसे पहले USE कीवर्ड और उसके बाद डेटाबेस नाम का उपयोग करके स्कूल डेटाबेस का चयन करेंगे।
USE School;
हम चयनित डेटाबेस से छात्र_सूचना तालिका को हटाने के लिए ड्रॉप कमांड लिखेंगे।
निम्नलिखित अभिलेखों के साथ तालिका छात्र_सूचना पर विचार करें:
Student_Id | Student_Name | Student_Course | Student_Marks |
1 | अंजलि | BCOM | 85 |
2 | प्रणव | बीसीए | 80 |
3 | योगेश | बी.ई | 88 |
4 | भूषण | एमबीए | 95 |
5 | पूनम | एमसीओएम | 97 |
6 | भावेश | बी.ई | 90 |
7 | खुशी | बीएससी | 94 |
8 | पीयूष | BCOM | 75 |
9 | निकिता | बीए | 88 |
10 | ऐश्वरिया | बीएससी | 70 |
DROP TABLE Students_Information;
हमने उपरोक्त क्वेरी से छात्र_सूचना तालिका को तालिका के अंदर मौजूद सभी अभिलेखों के साथ छोड़ दिया है।
यह जांचने के लिए कि क्वेरी को सफलतापूर्वक निष्पादित किया गया था या नहीं, हम सेलेक्ट क्वेरी को निष्पादित करेंगे।
SELECT * FROM Students_Information;
जैसे ही हम छात्र_सूचना तालिका पर चयन क्वेरी निष्पादित करते हैं, तालिका मौजूद नहीं है संदेश प्रदर्शित होता है, जिसका अर्थ है कि छात्र_सूचना तालिका पर ड्रॉप कमांड क्वेरी सफलतापूर्वक निष्पादित की जाती है।
उदाहरण 2: कंपनी डेटाबेस से प्रबंधक_व्यू1 दृश्य छोड़ने के लिए एक प्रश्न लिखें।
निम्न रिकॉर्ड के साथ Manager_view1 दृश्य पर विचार करें:
मैनेजरिड | MANAGER_NAME | MANAGER_DEPARTMENT |
1 | स्नेहदीप कौर | ओरेकल |
3 | अभिषेक मनीष | जावा |
हम चयनित डेटाबेस से प्रबंधक_व्यू1 दृश्य को हटाने के लिए ड्रॉप कमांड लिखेंगे।
DROP VIEW Manager_view1;
हमने उपरोक्त क्वेरी से प्रबंधक_व्यू1 दृश्य को दृश्य के अंदर मौजूद सभी रिकॉर्ड के साथ हटा दिया है।
क्रॉस_चेक करने के लिए कि क्वेरी को सफलतापूर्वक निष्पादित किया गया था या नहीं, हम SELECT क्वेरी को निष्पादित करेंगे।
SELECT * FROM Manager_view1;
जब हम मैनेजर_व्यू1 व्यू पर सेलेक्ट क्वेरी को एक्जीक्यूट करते हैं, तो व्यू मौजूद नहीं है मैसेज प्रदर्शित होता है, जिसका मतलब है कि मैनेजर_व्यू 1 व्यू पर ड्रॉप कमांड क्वेरी को सफलतापूर्वक निष्पादित किया गया है।
उदाहरण 3: क्रिकेट डेटाबेस को सिस्टम से हटाने के लिए एक प्रश्न लिखें।
डेटाबेस के लिए ड्रॉप कमांड को निष्पादित करने से पहले, हम ड्रॉप कमांड के अंत में सत्यापित करने के लिए पहले डेटाबेस शो कमांड निष्पादित करते हैं कि हमने सिस्टम से क्रिकेट डेटाबेस को सफलतापूर्वक हटा दिया है।
SHOW DATABASES;
डेटाबेस |
Chk |
कंपनी |
क्रिकेट |
कर्मचारी |
सूचना_स्कीमा |
माइस्क्ल |
Performance_schema |
Phpmyadmin |
स्कूल |
परीक्षा |
वर्डप्रेस |
ऊपर वे डेटाबेस हैं जो सिस्टम में पहले से मौजूद हैं; हम क्रिकेट डेटाबेस को सिस्टम से हटा देंगे। डेटाबेस को ड्राप करने का मतलब है डेटाबेस टेबल, व्यू, इंडेक्स, ट्रिगर्स आदि के अंदर मौजूद सभी ऑब्जेक्ट्स को हटाना।
अब, हम क्रिकेट डेटाबेस को छोड़ने के लिए एक क्वेरी निष्पादित करेंगे।
DROP DATABASE Cricket;
हमने क्रिकेट डेटाबेस पर ड्रॉप क्वेरी निष्पादित की है। यह जाँचने के लिए कि डेटाबेस सफलतापूर्वक गिराया गया है या नहीं, हम SHOW DATABASES क्वेरी निष्पादित करेंगे।
SHOW DATABASES;
डेटाबेस |
Chk |
कंपनी |
कर्मचारी |
सूचना_स्कीमा |
माइस्क्ल |
Performance_schema |
Phpmyadmin |
स्कूल |
परीक्षा |
वर्डप्रेस |
जैसा कि आप देख सकते हैं, क्रिकेट डेटाबेस को सिस्टम से सफलतापूर्वक हटा दिया गया है।
उदाहरण 4: कर्मचारी तालिका से अंतिम नाम कॉलम को हटाने के लिए एक प्रश्न लिखें।
ALTER TABLE employee DROP Last_Name;
हमने उपरोक्त क्वेरी में ALTER कमांड के साथ DROP कमांड का उपयोग करके कर्मचारी तालिका से Last_Name कॉलम को हटा दिया है।
फ़ील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |
कर्मचारी | इंट(11) | नहीं | पीआरआई | शून्य | |
FIRST_NAME | वर्कर(20) | हां | शून्य | ||
वेतन | इंट(11) | हां | शून्य | ||
शहर | वर्कर(20) | हां | शून्य | ||
विभाग | वर्कर(20) | हां | शून्य | ||
प्रबंधक | इंट(11) | हां | शून्य |
उपरोक्त आउटपुट से पता चलता है कि Last_Name कर्मचारी तालिका से हटा दिया गया है।
Truncate Command क्या है?
Truncate स्ट्रक्चर्ड क्वेरी लैंग्वेज में एक और डेटा डेफिनिशन लैंग्वेज कमांड है। Truncate कमांड का उपयोग टेबल से सभी रिकॉर्ड को हटाने के लिए किया जाता है। DROP कमांड की तरह, लेकिन TRUNCATE कमांड में WHERE क्लॉज नहीं होता है। Truncate कमांड DROP और DELETE कमांड दोनों से तेज है। TRUNCATE कमांड का उपयोग करने के बाद हम DROP कमांड जैसे रिकॉर्ड को वापस नहीं ले सकते।
SQL में TRUNCATE कमांड का सिंटैक्स:
TRUNCATE TABLE tablename;
उपरोक्त सिंटैक्स में, हमें उस तालिका के नाम का उल्लेख करना होगा जिसका डेटा हम तालिका से हटाना चाहते हैं।
हम TRUNCATE कमांड का उपयोग करके कुछ उदाहरण लेंगे।
TRUNCATE कमांड का उदाहरण:
चरण 1: डेटाबेस बनाएं या मौजूदा डेटाबेस का उपयोग करें।
चरण 2: एक नई तालिका बनाएं या मौजूदा तालिका का उपयोग करें।
निम्नलिखित रिकॉर्ड के साथ मौजूदा तालिका पर विचार करें:
तालिका:कर्मचारी:
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
1001 | वैभवी | मिश्रा | 65500 | पुणे | ओरेकल | 1 |
1002 | वैभव | शर्मा | 60000 | नोएडा | सी# | 5 |
1003 | निखिल | वाणी | 50500 | जयपुर | FMW | 2 |
2001 | प्राची | शर्मा | 55500 | चंडीगढ़ | ओरेकल | 1 |
2002 | भावेश | जैन | 65500 | पुणे | FMW | 2 |
2003 | रुचिका | जैन | 50000 | मुंबई | सी# | 5 |
3001 | प्रानोटी | शेंडे | 55500 | पुणे | जावा | 3 |
3002 | अनुजा | WANRE | 50500 | जयपुर | FMW | 2 |
3003 | दीपम | जौहारी | 58500 | मुंबई | जावा | 3 |
4001 | राजेश | GOUD | 60500 | मुंबई | परीक्षण | 4 |
4002 | अश्विनी | बगत | 54500 | नोएडा | जावा | 3 |
4003 | रुचिका | अग्रवाल | 60000 | दिल्ली | ओरेकल | 1 |
5001 | ARCHIT | शर्मा | 55500 | दिल्ली | परीक्षण | 4 |
उदाहरण: ट्रंकेट कमांड का उपयोग करके कर्मचारी तालिका से सभी रिकॉर्ड हटाने के लिए एक प्रश्न लिखें।
TRUNCATE TABLE Employee;
हमने कर्मचारी तालिका से उपरोक्त क्वेरी से सभी रिकॉर्ड हटा दिए हैं।
यह जांचने के लिए कि कर्मचारी तालिका से सभी रिकॉर्ड हटा दिए गए हैं या नहीं, हम कर्मचारी तालिका पर SELECT क्वेरी निष्पादित करेंगे।
SELECT * FROM Employee;
कर्मचारी | FIRST_NAME | LAST_NAME | वेतन | शहर | विभाग | मैनेजरिड |
जैसे ही हम कर्मचारी तालिका पर चयन क्वेरी निष्पादित करते हैं, खाली सेट संदेश प्रदर्शित होता है, जिसका अर्थ है कि कर्मचारी तालिका पर ट्रंकेट कमांड सफलतापूर्वक निष्पादित किया गया है।
नीचे दिए गए बिंदु संरचित क्वेरी भाषा में ड्रॉप कमांड और ट्रंकेट कमांड के बीच अंतर दिखाते हैं:
DROP कमांड | ट्रंकेट कमांड |
DROP कमांड टेबल स्ट्रक्चर और टेबल रिकॉर्ड्स को डिलीट कर देता है। | TRUNCATE कमांड तालिका से सभी रिकॉर्ड को हटा देता है। |
DROP कमांड एक डेटा डेफिनिशन लैंग्वेज कमांड है। | TRUNCATE कमांड भी एक डेटा डेफिनिशन लैंग्वेज कमांड है। |
DROP कमांड में, टेबल स्पेस मेमोरी से मुक्त होता है | TRUNCATE कमांड टेबल स्पेस को मेमोरी से मुक्त नहीं करता है। |
तालिका दृश्य DROP कमांड में मौजूद नहीं है | तालिका दृश्य TRUNCATE कमांड में मौजूद है |
DROP कमांड में, हम डिलीट स्पेस का उपयोग नहीं कर सकते। | TRUNCATE कमांड में, हम डिलीट स्पेस का उपयोग कर सकते हैं लेकिन DELETE स्टेटमेंट की तुलना में कम। |
DROP कमांड में, इंटिग्रिटी बाधाओं को टेबल से अपने आप हटा दिया जाएगा। | TRUNCATE कमांड में तालिका से अखंडता बाधाओं को हटाया नहीं जाएगा। |
DROP कमांड रिकॉर्ड्स को तेजी से हटाता है, लेकिन इसमें कई जटिलताएं हैं। | TRUNCATE कमांड DROP कमांड से तेज है। |