तुटत आणि हटवा दरम्यान फरक

Anonim

डेटा निर्मिती आणि हाताळणी फॉर्म डाटाबेसचा आधार आणि आम्ही ती क्रमशः डीडीएल आणि डीएमएल म्हणून म्हणतो. डीडीएल हा डेटा डेफिनेशन लँग्वेजसाठी संक्षिप्त नाम आहे. ते डेटाबेसेसमध्ये डेटा स्ट्रक्चर्स तयार किंवा सुधारित करु शकतात आणि ते टेबलवर उपस्थित डेटा बदलण्यासाठी वापरले जाऊ शकत नाहीत. उदाहरणार्थ, आमच्याकडे कमांडस आहेत जे केवळ निर्दिष्ट सारणी वैशिष्ट्यांसह टेबल तयार करतात पण ते टेबलमध्ये कोणत्याही पंक्ती जोडत नाहीत. पण डेटा मॅनेप्युलेशन भाषा डीएमएल, टेबलमध्ये डेटा जोडणे, हटवणे किंवा बदलणे शक्य आहे. सर्वसाधारण नियमानुसार, डीडीएल कमांड टेबल स्ट्रक्चरसह हाताळते परंतु डीएमएल आदेश वास्तविक डेटाशी संबंधित आहेत. तो असू द्या, आम्ही फक्त "तुटलेली आणि हटवा" यातील फरक का बदलतो? आम्ही DML आणि DDL बद्दल बोललो त्या कारणे आहेत. आपण पुढच्या चर्चेत ते समजेल.

ट्रान्सेट कमांड म्हणजे काय?

संपूर्ण टेबल बंटायला हटवण्यासाठी कमांडच्या आदेशाचा उद्देश आहे. म्हणून जेव्हा आपण Truncate कमांड वापरता तेव्हा आपण टेबलवरील सर्व डेटा गमावू इच्छित असाल आणि आपण त्याचा वापर करून सावध असले पाहिजे. आम्हाला ते कसे वापरावे ते कळू द्या

ट्रंकेटचे सिंटॅक्स:

ट्रंककेट टेबल < टेबल-नाव <; येथे, आपण त्या टेबलचे नाव निर्दिष्ट करावे जे संपूर्ण वर हटवावे. हे सुनिश्चित करते की मेमरी स्पेसमध्ये बसणारी कोणतीही टेबल असेल. Truncate वापरण्याचे हे एक उदाहरण आहे.

खाली 'कर्मचारी' टेबल आहे आणि त्यातील डेटाच्या ओळीकडे पहा.

emp-id

emp- नाव

पदनाम 1011 जॅक
लिपिक 1012 गुलाबी
प्रशासन 1014 नॅन्सी > वित्त
आता, कर्मचारी टेबलवर खालील कमांड जारी करूया. चालणे टेबल
कर्मचारी;

वरील सिन्टॅक्सचा परिणाम येथे आहे आणि त्यात डेटा नाही.

emp-id emp- नाव

पदनाम

एक हटवा आदेश काय आहे? हटवा आदेशाचा उद्देश टेबलमधील निर्दिष्ट पंक्ति काढून टाकणे आहे. इथे, जेथे 'हटविणे' आवश्यक आहे अशी पंक्ति निर्दिष्ट करण्यासाठी येथे 'कुठे' कलर वापरला जातो. जेव्हा आपण पंक्ती निर्दिष्ट केल्या नाहीत, तेव्हा कमांड टेबलमधील सर्व पंक्ति काढून टाकेल. फक्त त्याच्या सिंटॅक्सकडे पहा. कर्मचार्याकडून

हटवा;

वरील वाक्यरचना 'कर्मचारी' सारणीमधील सर्व पंक्ती हटवते. तर परिणामी टेबलमध्ये डेटा नसावा.

कर्मचारी पासून डिलिट करा

कुठे

emp-id = 1011; हे विधान केवळ एका ओळीचे हटवते ज्याचे emp-id 1011 आहे. परिणामी परिणाम खालीलप्रमाणे असेल: emp-id emp-name

पदनाम

1012 गुलाटी प्रशासन
1014 नॅन्सी वित्त
फरक: तुटणे डीडीएल; डिलीट करा डीएमएल आहे: आम्ही वर दिलेल्या चर्चा मध्ये डीडीएल आणि डीएमएल काम कसे करतो यावर चर्चा केली आहे.Truncate आदेश एक DDL आहे आणि तो डेटा संरचना स्तरावर कार्य करतो. परंतु Delete एक DML कमांड आहे आणि तो टेबल डेटावर कार्य करतो. DDL साठी इतर उदाहरणे तयार आणि बदलतात. त्याचप्रमाणे, आम्ही म्हणू शकतो की SELECT, UPDATE, आणि REPLACE सारख्या आज्ञा ही डीएमएलसाठी एक परिपूर्ण उदाहरणे आहेत.

टेंग्नेट व डिलीट कसे कार्य करते:

  • आम्ही ट्राँकेट कमांड जारी केल्यावर ते स्पष्ट टेबलसाठी शोधते. मग ते मेमरीमधून सर्व डेटा पूर्णपणे काढून टाकते परंतु कार्यपद्धती हटविण्याच्या बाबतीत फारच वेगळी आहे. येथे, मूळ टेबल डेटा वास्तविक मॅनिपुलेशन पूर्ण करण्यापूर्वी 'रोल बॅक' स्पेस नावाच्या जागेवर कॉपी केले आहे. नंतर हे बदल प्रत्यक्ष टेबल डेटा स्पेसवर केले जातात. त्यामुळे, त्या दोघांमधील ज्या पद्धतीने ते कार्य करतात त्यांत फरक पडतो. तुटणे
  • -> सारणीतून संपूर्ण डेटा काढणे -> टेबल जागा आता मोकळा आहे. नष्ट करा

-> मूळ टेबल डेटाची प्रत मागे घेण्यासाठी रिक्त करा -> निर्दिष्ट डेटा / संपूर्ण सारणी हटवा -> टेबल स्पेस मुक्त आहे परंतु रोल बॅक स्पेस भरली जाते. मागे रोल करा:

आपल्या मायक्रोसॉफ्ट अॅक्सेसरीजमध्ये एक रोल बॅक अंडो कमांड सारखा आहे. हे आम्ही अलीकडे केलेले बदल रद्द करण्यासाठी वापरले जाते. ई. शेवटच्या वाचलेल्या बिंदूपासून ऑपरेशन पुढे चालू ठेवण्यासाठी, डेटा संपादित करण्याआधी तो रोल बॅक स्पेसमध्ये कॉपी केला गेला पाहिजे. जरी या रोल बॅक्सला अतिरिक्त मेमरी लागते तरी ते मूळवर परत मिळविण्यासाठी अत्यंत उपयुक्त आहेत. विशेषत:, काही चुकून संपादन करताना! आता रोल बॅकाप्रमाणे ट्रंक व डिलीट वर जाऊ या. आम्ही वर सांगितल्याप्रमाणे, ट्रंकेट कधीही रोल बॅक स्पेस वापरत नाही आणि आम्ही मूळ डेटावर परत मिळवू शकलो नाही. परंतु कमांड कमांड रोल बॅक स्पेस वापरते आणि आपण फक्त 'कमिट' किंवा 'रोलबॅक' चा वापर अनुक्रमे स्वीकार किंवा रद्द करण्यासाठी करू शकतो. ट्रिगर्स: < ज्यांना ट्रिगर्स (उद्दीपके) विषयी स्पष्टीकरण आवश्यक आहे, त्यांच्यासाठी हे एक लहान टीप आहे. ट्रिगर एक पूर्व-निर्दिष्ट ऑपरेशन / ऑपरेशन असतात जे सक्रिय केले पाहिजेत जेव्हा टेबल एखाद्या विशिष्ट स्थितीशी जुळतात. उदाहरणार्थ, एखाद्या कर्मचाऱ्याच्या अनुभवाचा अनुभव एका वर्षाहून अधिक असतो तेव्हा आम्ही पगारची रक्कम बदलू शकतो. हे ट्रिगर तसेच इतर सारण्यांवर काम करू शकतात. उदाहरणार्थ, एखाद्या कर्मचा-याकरता पगार वाढताच आम्ही वित्त टेबल अद्ययावत करू शकतो.

  • Truncate हे डीडीएल आदेश आहे, येथे ट्रिगरला परवानगी नाही. पण डिलीट एक डीएमएल आदेश आहे, ट्रिगर्सना येथे परवानगी आहे. कोण जलद आहे?
  • आपण अंदाज केला की, Truncate आदेश हटवा आदेशापेक्षा अधिक जलद होईल. पूर्वी सर्व डेटा काढला आणि कोणत्याही जुळणारी परिस्थिती तपासण्याची आवश्यकता नाही. देखील, मूळ डेटा रोलबॅक जागा कॉपी नाही आणि हे खूप वेळ वाचवितो हे दोन घटक हटवापेक्षा अधिक जलद काम करू शकतात. आम्ही WHERE कलम वापरु शकतो का?

'कुठे' कलमा काही जुळण्याची परिस्थिती निर्दिष्ट करण्यासाठी वापरली जाते आणि Truncate सह काहीही नाही. Truncate कधीही जुळणारी परिस्थिती पाहत नाही आणि ती फक्त सर्व पंक्ती काढून टाकते, तर आपण येथे 'कोठे' खंड वापरू शकत नाही.परंतु आपण डिलीट कमांड मधील 'कोठे' क्लाक्लो च्या मदतीने नेहमीच अट निर्दिष्ट करू शकतो.

  • कोणत्या जागा व्यापल्या आहेत? ट्रंकेट रोलबॅक स्पेसचा वापर करणार नाही आणि ते त्या स्मृतीची बचत करेल. परंतु हटवाला रोलबॅक स्पेसच्या स्वरूपात बॅकअपची आवश्यकता आहे आणि म्हणून त्यास ट्रान्सेटपेक्षा अधिक मेमरी स्पेसची आवश्यकता आहे.
  • त्यामुळे हे फरक आहेत आणि आपण एक सारणी स्वरूपात बघूया. एस. नाही
  • मध्ये फरक तुटणे

हटवा

1 डीडीएल किंवा डीएमएल? हे डीडीएल आहे आणि ते डेटा संरचना स्तरावर कार्य करते. DDL साठी इतर उदाहरणे तयार आणि बदलतात. हे डीएमएल आदेश आहे आणि ते टेबल डेटावर कार्य करते. डीएमएल म्हणजे डेटा मॅनिपुलेशन लँग्वेज. SEML, UPDATE, आणि REPLACE सारख्या आदेश डीएमएलसाठी उत्तम उदाहरणे आहेत. डीएमएल म्हणजे डेटा मॅनिपुलेशन लँग्वेज.
2 हे कसे कार्य करते? आम्ही ट्राँकेट कमांड जारी केल्यावर ते फक्त निर्दिष्ट टेबलसाठी शोधते. मग ते मेमरीमधून सर्व डेटा पूर्णपणे काढून टाकते

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

3 रोलबॅक Truncate आदेश कधीही परत रोल स्पेस वापरत नाही आणि आम्ही मूळ डेटावर परत जाऊ शकलो नाही. रोलबॅक स्पेस अनन्य आहे आणि डीएमएल आदेश जारी केल्यानंतर ती व्याप्त आहे. हटवा आदेश रोल बॅक स्पेस वापरते आणि आपण फक्त 'कमिट' किंवा 'रोलबॅक' चा वापर अनुक्रमे स्वीकार किंवा रद्द करण्यासाठी करू शकतो.
4 ट्रिगर्स तुटलेले डीडीएल आदेश आहे, ट्रिगर्सना परवानगी नाही डिलीट करा डीएमएल आदेश आहे, ट्रिगर्सना येथे परवानगी आहे.

5 कोण जलद आहे? हे सर्व डेटा काढू शकते आणि कोणत्याही जुळण्याची स्थिती तपासण्याची आवश्यकता नाही देखील, मूळ डेटा रोलबॅक जागा कॉपी नाही आणि हे खूप वेळ वाचवितो हे दोन घटक हटवापेक्षा अधिक जलद काम करू शकतात. हे रोलबॅक स्पेसचा वापर करते आणि नेहमी मूळ डेटा त्यावर कायम ठेवला पाहिजे. हा एक अतिरिक्त भार आहे आणि त्याउलट, Truncate पेक्षा जास्त वेळ लागतो. < 6

आम्ही WHERE कलम वापरु शकतो का? तुटकी कोणत्याही जुळणारी परिस्थितीसाठी कधीच दिसणार नाही आणि ती फक्त सर्व पंक्ती काढून टाकते, आम्ही येथे 'कोठे' खंड वापरू शकत नाही परंतु आम्ही "हटवा कमांड" मधील 'कोठे' खंडांच्या मदतीने नेहमीच अट निर्दिष्ट करू शकतो. < 7

कोणत्या जागा व्यापल्या आहेत?
ट्रंकेट रोलबॅक स्पेसचा वापर करणार नाही आणि ते त्या स्मृतीची बचत करेल. रोलबॅक स्पेसच्या स्वरूपात बॅकअपची आवश्यकता आहे आणि त्यामुळे ट्रान्सेटपेक्षा अधिक मेमरी स्पेसची आवश्यकता आहे. <2 कोणत्याही दोन संस्थांमध्ये फरक ओळखणे दोन्ही ज्ञानाची रूढी वाढवते! तुम्ही एका योग्य मार्गात उतरले आहात i. ई. फरक समजून घेण्याकरिता, खासकरुन, छेदन करणे आणि आज्ञा हटविणे यातील वेब पृष्ठ. अशी आशा आहे की आपण आता फरक स्पष्ट केला आहे आणि आपण त्यास समजण्यास मदत केली असेल तर आम्हाला कळवा. आपण ज्या गोष्टीकडे दुर्लक्ष केले आहे त्याकडे लक्ष वेधूनदेखील मदत करू शकता!<