DELETE क्वेरी क्या है?
MySQL DELETE कमांड का उपयोग उन पंक्तियों को हटाने के लिए किया जाता है जो अब डेटाबेस टेबल से आवश्यक नहीं हैं। यह पूरी पंक्ति को तालिका से हटा देता है और हटाए गए पंक्तियों की गिनती देता है। डिलीट कमांड आपके डेटाबेस से अस्थायी या अप्रचलित डेटा को हटाने के काम आता है।
MySQL में डिलीट क्वेरी सिंगल क्वेरी में टेबल से एक से अधिक रो को हटा सकती है। डेटाबेस तालिका से बड़ी संख्या में पंक्तियों को हटाते समय यह लाभकारी साबित होता है।
एक बार MySQL रो में एक डिलीट रो को डिलीट कर देने के बाद उसे रिकवर नहीं किया जा सकता। इसलिए डेटाबेस से किसी भी डेटा को हटाने से पहले डेटाबेस बैकअप बनाने की दृढ़ता से अनुशंसा की जाती है। यह आपको डेटाबेस को पुनर्स्थापित करने और बाद में आवश्यक डेटा को देखने की अनुमति दे सकता है।
कैसे MySQL में एक पंक्ति को हटाने के लिए
MySQL में एक पंक्ति को हटाने के लिए DELETE FROM स्टेटमेंट का उपयोग किया जाता है:
DELETE FROM `table_name` [WHERE condition];
यहां
- तालिका से पंक्तियों को हटाने के लिए MySQL सर्वर से `table_name` बताता है…
- [जहां शर्त है] वैकल्पिक है और इसका उपयोग एक फिल्टर लगाने के लिए किया जाता है जो MySQL DELETE पंक्ति क्वेरी से प्रभावित पंक्तियों की संख्या को सीमित करता है।
यदि MySQL DELETE क्वेरी में WHERE क्लॉज़ का उपयोग नहीं किया जाता है, तो किसी दी गई तालिका की सभी पंक्तियों को हटा दिया जाएगा।
MySQL Delete Query का उदाहरण
इससे पहले कि हम DELETE कमांड में अधिक विवरण पर चर्चा करें, चलो कुछ नमूना डेटा को मूवी टेबल में काम करने के लिए डालें।
INSERT INTO `movies` (`title`, `director`, `year_released`, `category_id`) VALUES ('The Great Dictator', 'Chalie Chaplie', 1920, 7);INSERT INTO `movies` (`title`, `director`, `category_id`) VALUES ('sample movie', 'Anonymous', 8);INSERT INTO movies (`title`, `director`, `year_released`, `category_id`) VALUES ('movie 3', 'John Brown', 1920, 8);
उपरोक्त स्क्रिप्ट को निष्पादित करने से फिल्मों की तालिका में तीन (3) फिल्में जुड़ जाती हैं। इससे पहले कि हम अपने पाठ में आगे बढ़ें, हम अपनी तालिका में सभी फिल्में प्राप्त करें। नीचे दिखाई गई स्क्रिप्ट ऐसा करती है।
SELECT * FROM `movies`;
उपरोक्त स्क्रिप्ट को निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।
movie_id | itle | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
18 | The Great Dictator | Chalie Chaplie | 1920 | 7 |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
मान लीजिए कि Myflix वीडियो लाइब्रेरी अब अपने सदस्यों को "द ग्रेट डिक्टेटर" किराए पर देने की इच्छा नहीं रखता है और वे चाहते हैं कि इसे डेटाबेस से हटा दिया जाए। इसकी मूवी आईडी 18 है, हम इसकी पंक्ति को मूवी टेबल से हटाने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।
DELETE FROM `movies` WHERE `movie_id` = 18;
Myflix के खिलाफ MySQL WorkBench में उपरोक्त स्क्रिप्ट को निष्पादित करने से डेटाबेस तालिका से आईडी 18 के साथ फिल्म हटा दी जाती है।
आइए देखते हैं फिल्मों की वर्तमान स्थिति तालिका।
SELECT * FROM `movies`;
movie_id | title | director | year_released | category_id |
---|---|---|---|---|
1 | Pirates of the Caribean 4 | Rob Marshall | 2011 | 1 |
2 | Forgetting Sarah Marshal | Nicholas Stoller | 2008 | 2 |
3 | X-Men | NULL | 2008 | NULL |
4 | Code Name Black | Edgar Jimz | 2010 | NULL |
5 | Daddy's Little Girls | NULL | 2007 | 8 |
6 | Angels and Demons | NULL | 2007 | 6 |
7 | Davinci Code | NULL | 2007 | 6 |
9 | Honey mooners | John Schultz | 2005 | 8 |
16 | 67% Guilty | NULL | 2012 | NULL |
19 | sample movie | Anonymous | NULL | 8 |
20 | movie 3 | John Brown | 1920 | 8 |
ध्यान दें:
- आईडी 18 वाली फिल्म क्वेरी परिणाम सेट में वापस नहीं आई है।
- आप किसी तालिका के लिए एक कॉलम नहीं हटा सकते। आप एक पूरी पंक्ति हटा सकते हैं।
मान लीजिए कि हमारे पास उन फिल्मों की एक सूची है जिन्हें हम हटाना चाहते हैं। हम IN के साथ WHERE क्लॉज का उपयोग कर सकते हैं।
DELETE FROM `movies` WHERE `movie_id` IN (20,21);
उपरोक्त स्क्रिप्ट को निष्पादित करने से हमारी मूवी टेबल से आईडी 20 और 21 के साथ फिल्में हट जाती हैं।
सारांश
- डिलीट कमांड का उपयोग उन डेटा को हटाने के लिए किया जाता है जिनकी अब किसी टेबल से आवश्यकता नहीं है।
- "WHERE क्लॉज" का उपयोग DELETE क्वेरी से प्रभावित पंक्तियों की संख्या को सीमित करने के लिए किया जाता है।
- एक बार डेटा हटा दिए जाने के बाद, इसे पुनर्प्राप्त नहीं किया जा सकता है, इसलिए यह डेटा को हटाने से पहले बैकअप बनाने की जोरदार सिफारिश करता है।