Database
 sql >> डेटाबेस >  >> RDS >> Database

SQL में ड्रॉप बनाम ट्रंकेट

इस लेख में, हम ड्रॉप एंड ट्रंकेट कमांड और इन दोनों कमांड के बीच के अंतर को जानेंगे और समझेंगे।

ड्रॉप कमांड क्या है?

ड्रॉप संरचित क्वेरी भाषा में एक डेटा परिभाषा भाषा कमांड है। 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 कमांड से तेज है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu 20.04 पर क्लिकहाउस को कैसे स्थापित और कॉन्फ़िगर करें?

  2. घुटने-झटका प्रतीक्षा सांख्यिकी :PAGELATCH

  3. एसक्यूएल अलग का चयन करें

  4. सामान्य डेटाबेस इन्फ्रास्ट्रक्चर पैटर्न की तुलना करना

  5. डायनेमिक्स सीआरएम में मल्टी-स्टेटमेंट टीवीएफ