SQL DELETE स्टेटमेंट डेटाबेस टेबल से एक पंक्ति हटाता है। आप यह निर्दिष्ट करने के लिए WHERE स्टेटमेंट का उपयोग कर सकते हैं कि किन रिकॉर्ड्स को हटाया जाना चाहिए। यदि आप WHERE स्टेटमेंट निर्दिष्ट नहीं करते हैं, तो टेबल में हर पंक्ति हटा दी जाएगी।
SQL में पंक्तियों को हटाना एक सामान्य ऑपरेशन है। उदाहरण के लिए, एक उपयोगकर्ता आपकी वेबसाइट पर अपना खाता हटाने का फैसला कर सकता है। इसके लिए आपको उनके डेटा को अपने उपयोगकर्ता डेटाबेस से हटाने की आवश्यकता होगी।
आप अपनी टेबल से किसी भी पंक्ति को हटाने के लिए SQL DELETE स्टेटमेंट का उपयोग कर सकते हैं। इस ट्यूटोरियल में, हम चर्चा करने जा रहे हैं कि आप अपने डेटाबेस पर SQL delete row कमांड कैसे निष्पादित कर सकते हैं।
SQL रिकॉर्ड रिफ्रेशर
डेटाबेस टेबल की एक श्रृंखला से बने होते हैं, जिनमें से प्रत्येक अपने स्वयं के रिकॉर्ड संग्रहीत करता है।
उदाहरण के लिए, हमारे कंपनी डेटाबेस में कर्मचारियों, आपूर्तिकर्ताओं, विभागों, पेरोल, और अधिक पर टेबल शामिल हो सकते हैं। उन टेबल में से प्रत्येक में अपने स्वयं के रिकॉर्ड शामिल होंगे, जो टेबल में व्यक्तिगत प्रविष्टियां हैं। एक पेरोल टेबल में कर्मचारियों को किए गए भुगतानों की सूची शामिल हो सकती है।
टेबल में एक नया रिकॉर्ड जोड़ने के लिए, हम SQL INSERT स्टेटमेंट का उपयोग करते हैं। यह हमें हमारी पसंद के कॉलम में विशिष्ट मानों वाला एक रिकॉर्ड जोड़ने की अनुमति देता है।
यहां SQL INSERT कमांड का एक उदाहरण है:
INSERT INTO company_departments (name, department_id) VALUES ('Payroll', 5);
लेकिन क्या होगा अगर हम अपनी टेबल से एक पंक्ति हटाना चाहते हैं? हम इस लक्ष्य को पूरा करने के लिए DELETE row स्टेटमेंट का उपयोग कर सकते हैं।
SQL टेबल से पंक्ति हटाएं
SQL DELETE स्टेटमेंट टेबल से एक पंक्ति या एकाधिक पंक्तियाँ हटाता है। स्टेटमेंट दो पैरामीटर लेता है। पहला, आपको उस टेबल का नाम निर्दिष्ट करना चाहिए जिस पर DELETE स्टेटमेंट को ध्यान केंद्रित करना चाहिए। वैकल्पिक रूप से, किसी रिकॉर्ड को हटाने से पहले पूरी की जाने वाली किसी भी शर्त को निर्दिष्ट करें।
यहां DELETE स्टेटमेंट के लिए सिंटैक्स है:
DELETE FROM table_name WHERE conditions_are_met;
DELETE स्टेटमेंट में कोई "undo" कमांड नहीं होता है। एक बार रिकॉर्ड डेटाबेस से हटा दिए जाने के बाद, इसे पुनर्प्राप्त नहीं किया जा सकता है।
WHERE स्टेटमेंट आपको यह निर्दिष्ट करने देता है कि किन रिकॉर्ड्स को हटाया जाना चाहिए। यह SQL WHERE स्टेटमेंट के समान सिंटैक्स का उपयोग करता है जैसे किसी अन्य कमांड के साथ, जैसे SQL INSERT या UPDATE।
DELETE स्टेटमेंट टेबल को नहीं हटाता है। यह उस टेबल के भीतर रिकॉर्ड्स को हटा देगा।
आइए SQL DELETE स्टेटमेंट के एक उदाहरण पर नज़र डालें।
Delete Row SQL उदाहरण
यदि हम केवल उन रिकॉर्ड्स को हटाना चाहते हैं जो शर्तों के एक निश्चित सेट से मेल खाते हैं, तो हम WHERE क्लॉज निर्दिष्ट करके ऐसा कर सकते हैं। मान लीजिए कि हमने तय किया है कि Marketing विभाग को सेल्स में मिला दिया जाना चाहिए।
हमारी टेबल वर्तमान में निम्न रिकॉर्ड्स रखती है:
| name | title | department_id |
| John | Marketing | 2 |
| Rebecca | Sales | 3 |
हम अपनी सूची से Marketing विभाग को हटाने के लिए DELETE क्वेरी का उपयोग करेंगे:
DELETE FROM company_departments WHERE title = 'Marketing';
हम SQL SELECT स्टेटमेंट का उपयोग करके जांच सकते हैं कि हमारा रिकॉर्ड हटा दिया गया है या नहीं। हमारा परिणाम सेट है:
| name | title | department_id |
| Rebecca | Sales | 3 |
Rebecca का कर्मचारी रिकॉर्ड हमारे DELETE ऑपरेशन से प्रभावित नहीं हुआ क्योंकि हमने केवल उन लोगों को हटाया जिनका टाइटल "Marketing" के बराबर था। लेकिन, John का रिकॉर्ड चला गया है। ऐसा इसलिए है क्योंकि John मार्केटिंग विभाग के लिए काम करता था।
इस मामले में, हमने एक सिंगल रिकॉर्ड हटा दिया है। यदि मार्केटिंग विभाग में अधिक कर्मचारी होते, तो उनके रिकॉर्ड भी हटा दिए गए होते।
Delete All Rows SQL उदाहरण
तो, मान लीजिए कि हम अपने company_departments टेबल में सभी रिकॉर्ड्स हटाना चाहते हैं क्योंकि हम कॉर्पोरेट पुनर्गठन से गुजर रहे हैं। हम उन रिकॉर्ड्स को हटाने के लिए इस कमांड का उपयोग कर सकते हैं:
DELETE FROM company_departments;
यह क्वेरी हमारी टेबल company_departments में सभी पंक्तियों को हटा देती है। ऐसा इसलिए है क्योंकि हमने कोई शर्त निर्दिष्ट नहीं की है जिसे रिकॉर्ड हटाने से पहले पूरा किया जाना चाहिए। यदि आप किसी भी DELETE कमांड से WHERE क्लॉज को छोड़ देते हैं, तो यह टेबल के भीतर सभी पंक्तियों को हटा देगा।
यदि हम अपने company_departments टेबल को किसी भी कर्मचारी की तलाश में क्वेरी करते हैं जिसका टाइटल Marketing है, तो हम देख सकते हैं कि कोई रिकॉर्ड नहीं हैं:
| name | title | department_id |
(0 पंक्तियाँ)
निष्कर्ष
SQL DELETE स्टेटमेंट डेटाबेस से पंक्तियों को हटाता है। यह स्टेटमेंट डेटाबेस से सभी पंक्तियों को हटा देता है जब तक कि आप WHERE स्टेटमेंट निर्दिष्ट न करें। WHERE स्टेटमेंट आपको नियंत्रित करने देता है कि कौन से रिकॉर्ड्स हटाए जाते हैं।
इस ट्यूटोरियल में, हमने SQL में पंक्तियों के निर्माण की मूल बातें चर्चा कीं, और। फिर हमने चर्चा की कि आप DELETE स्टेटमेंट का उपयोग SQL टेबल से पंक्ति हटाने के लिए कैसे कर सकते हैं। हमने यह भी चर्चा की कि आप किसी विशेष शर्त के आधार पर रिकॉर्ड्स कैसे हटा सकते हैं, और टेबल में सभी डेटा कैसे हटा सकते हैं।
क्या आप SQL के बारे में अधिक सीखना चाहते हैं? शीर्ष शिक्षण संसाधनों और ऑनलाइन पाठ्यक्रमों की सूची के लिए हमारे पूर्ण How to Learn SQL गाइड को देखें।