ड्रॉप आणि तुटलेले अंतर यांच्यातील फरक

Anonim

ड्रॉप वि त्रिनॅकेट

ड्रॉप व तुटलेली दोन SQL (स्ट्रक्चर्ड क्वेरी लँग्वेज) स्टेटमेन्ट जे डेटाबेस व्यवस्थापन सिस्टीम, जिथे आपण डेटाबेसमधून डेटा रेकॉर्ड काढू इच्छित आहात. ड्रॉप आणि ट्रुन्केट दोन्ही स्टेटमेंट्स सारखा संपूर्ण डेटा टेबलमध्ये आणि संबंधित एस क्यू एल स्टेटमेंट काढून टाकतात. हटवा ऑपरेशन या प्रकरणात प्रभावी नाही कारण हे ड्रॉप आणि ट्रंकेट पेक्षा अधिक संचयन जागा वापरते.

जर जर आपण सर्व डेटासह डेटाबेसमध्ये एक टेबल टाकून देऊ इच्छित असाल तर एस क्यू एल आपल्याला ड्रॉप-स्टेटमेंट वापरण्यास सहजपणे परवानगी देतो. ड्रॉप कमांड एक डीडीएल (डेटा डेफिनेशन लँग्वेज) कमांड आहे आणि सध्याचा डेटाबेस, टेबल, इंडेक्स किंवा व्ह्यू नष्ट करण्यासाठी त्याचा वापर केला जाऊ शकतो. हे संपूर्ण माहिती एका सारणीत, तसेच डेटाबेसमधून टेबल संरचना हटविते. तसेच, आपण टेबलमधील सर्व डेटा काढून टाकू शकतो, परंतु टेबलशिवाय, आम्ही अशा स्थितीत एस क्यू एल मधील टेंकेटमेंट स्टेटमेंट वापरू शकतो. Truncate हे डीडीएल आदेश देखील आहे आणि ते एका टेबलमधील सर्व पंक्ती काढून टाकते परंतु भावी वापरासाठी तक्ता परिभाषीत ठेवते.

ड्रॉप कमांड

आधी सांगितल्या प्रमाणे, ड्रॉप आदेश टेबलाची परिभाषा आणि तिच्या सर्व डेटा, एकाग्रता अडचणी, निर्देशांक, ट्रिगर्स आणि प्रवेश विशेषाधिकार काढून टाकते, जे त्या विशिष्ट टेबलवर तयार करण्यात आले होते. त्यामुळे हे डेटाबेसमधील सध्याचे ऑब्जेक्ट पूर्णपणे काढून टाकते आणि कमांड कार्यान्वित झाल्यानंतर इतर टेबलशी संबंध देखील वैध राहणार नाहीत. तसेच ते डेटा शब्दकोशामधील सारणीविषयीची सर्व माहिती काढून टाकते टेबलवरील ड्रॉप स्टेटमेंट वापरण्यासाठी विशिष्ट वाक्यरचना पुढीलप्रमाणे आहे.

ड्रॉप टेबल

आम्हाला फक्त टेबलचे नाव बदलणे आवश्यक आहे ज्याला आपण ड्रॉप आदेश वरील वरील नमुन्यात डेटाबेस मधून काढू इच्छितो.

हे स्पष्ट करणे महत्वाचे आहे की ड्रॉप कंटिन्यूशन एक टेबल हटविण्यासाठी वापरले जाऊ शकत नाही, जे आधीपासूनच परदेशी किल्लीद्वारे संदर्भित केले गेले आहे. त्या प्रकरणात, परदेशी की मर्यादा संदर्भ, किंवा त्या विशिष्ट टेबल प्रथम वगळले पाहिजे. तसेच, डेटाबेसमध्ये सिस्टम टेबल्सवर ड्रॉप स्टेटमेंट लागू करणे शक्य नाही.

ड्रॉप आदेश एक स्वयं commit स्टेटमेंट आहे म्हणून एकदा कार्यरत केल्याप्रमाणे ऑपरेशन परत आणले जाऊ शकत नाही आणि कोणतेही ट्रिगर सोडले जाणार नाहीत. जेव्हा एखादे टेबल सोडले जाते तेव्हा सारणीचे सर्व संदर्भ वैध राहणार नाहीत, आणि म्हणून, जर आपण पुन्हा सारणीचा वापर करू इच्छित असाल, तर त्यास सर्व एकाग्रता मर्यादांमुळे आणि ऍक्सेस विशेषाधिकारांसह पुन्हा निर्माण करावे लागेल. इतर तक्त्याशी असलेले सर्व नातेसंबंध पुन्हा पुन्हा स्थित होणे आवश्यक आहे.

कट करा आदेश

तुटारा आदेश एक डीडीएल आदेश आहे, आणि तो कोणत्याही वापरकर्त्याने निर्दिष्ट अटी न करता तक्त्यामध्ये सर्व पंक्ती काढून टाकतो आणि सारणीद्वारे वापरलेली जागा रिलीझ करते, परंतु त्याच्या स्तंभ, अनुक्रमित आणि निर्बंधांसह सारणी संरचना समान राहतील.तुटणे टेबल डेटा संग्रहित करण्यासाठी वापरले डेटा पृष्ठे deallocating करून एक टेबल डेटा काढून टाकते, आणि फक्त हे पृष्ठ deallocations व्यवहार लॉग ठेवली आहेत. त्यामुळे तो इतर संबंधित एस क्यू एल कमांड्स सारख्या डिलीटच्या तुलनेत कमी ट्रांजॅक्शन लॉग रिसोर्सेस आणि सिस्टम रिसोसेस वापरतो. तर Truncate इतरांपेक्षा थोडी वेगवान विधान आहे. ट्रंकेट कमांड साठी विशिष्ट वाक्यरचना खालील आहे

टंकक टेबल

आपण सारणीचे नाव बदलले पाहिजे, ज्यावरून आपण संपूर्ण डेटा काढू इच्छित आहात, वरील वाक्यरचना मध्ये.

एका टोळ वर ट्रायकेट वापरला जाऊ शकत नाही जो परदेशी किल्लीद्वारे संदर्भित केला गेला आहे. हे कार्य करण्यापूर्वी आपोआप एक कमिट चा वापर करते आणि दुसऱ्यांनी नंतर पाठविते तसे व्यवहारांचे रोलबॅक अशक्य आहे आणि कोणतेही ट्रिगर उरले नाहीत. जर आपल्याला टेबलाचा पुन्हा वापर करायचा असेल तर आम्हाला डेटाबेसमधील विद्यमान टेबल डेफिनेशन ऍक्सेस करण्याची आवश्यकता आहे.

ड्रॉप आणि ट्रंकेटमध्ये काय फरक आहे?

ड्रॉप आणि ट्रान्सकेट कमांड हे डीडीएल कमांडस् आहेत तसेच ऑटोमॅटिक स्टेटमेन्ट्स देखील आहेत जेणेकरून या कमांडचा वापर करून केलेले व्यवहार परत फिरवले जाऊ शकणार नाहीत.

ड्राप आणि टेंकेट दरम्यानचा प्राथमिक फरक म्हणजे ड्रॉप आदेश काढून टाकतो, टेबलमधील सर्वच माहिती काढून टाकत नाही, परंतु हे सर्व संदर्भासह डेटाबेसमध्ये कायमस्वरूपी टेबलाची संरचना काढून टाकते, तर त्रिनॅट कमांड फक्त सर्व पंक्ती काढून टाकते टेबल मध्ये, आणि तो टेबल रचना आणि त्याचे संदर्भ जप्त.

जर टेबल सोडली गेली असेल तर, इतर सारण्यांशी संबंध आता वैध राहणार नाहीत आणि अखंडतेची अडचण आणि प्रवेश विशेषाधिकार काढून टाकले जातील. जर तक्ता पुन: वापरण्यासाठी आवश्यक असेल, तर ते संबंध, एकनिष्ठता मर्यादांमुळे आणि प्रवेश विशेषाधिकारांशी पुनर्रचना करणे आवश्यक आहे. पण एखादे टेबल काटण्यात आले तर, टेबलची संरचना आणि त्याची अडचण भविष्यात वापरण्यासाठी राहील, आणि म्हणून, वरील कोणत्याही पुनरावृत्तीसाठी पुन्हा वापरण्यासाठी आवश्यक नाही.

जेव्हा या आज्ञा लागू केल्या जातात, तेव्हा त्यांना वापरण्यासाठी सावध असणे आवश्यक आहे. तसेच, आपल्याला या आदेशांच्या स्वरूपाबद्दल अधिक चांगल्या प्रकारे समजून घेणे आवश्यक आहे, ते कसे कार्य करतात आणि काही आवश्यक गोष्टींचा वापर करण्यापासून ते टाळण्यासाठी त्यांच्या वापराची अगोदर काळजीपूर्वक योजना तयार करतात. अखेरीस, या दोन्ही आदेशांचा वापर डेटाबेसेस जलद आणि सुलभपणे साफ करण्यासाठी केला जाऊ शकतो, कमी स्त्रोत वापरतो.