MySQL व्यू: टेबल से व्यू कैसे बनाएं
⚡ स्मार्ट सारांश
MySQL व्यूज़ वर्चुअल टेबल होते हैं जिनमें स्वयं कोई डेटा संग्रहीत नहीं होता है, बल्कि ये संग्रहीत SELECT क्वेरी का परिणाम प्रस्तुत करते हैं। यह संसाधन myflixdb डेटाबेस से चलने योग्य उदाहरणों के साथ व्यूज़ बनाने, क्वेरी करने, जॉइन करने और हटाने का तरीका बताता है।

दृश्य क्या हैं? MySQL?
दृश्य वर्चुअल टेबल हैं जो अपना कोई डेटा स्टोर नहीं करते हैं, लेकिन अन्य टेबल में संग्रहीत डेटा प्रदर्शित करते हैं। दूसरे शब्दों में, VIEWS कुछ और नहीं बल्कि SQL क्वेरीज़ हैं। एक दृश्य में टेबल की सभी या कुछ पंक्तियाँ हो सकती हैं। MySQL दृश्य एक तालिका या कई तालिकाओं से डेटा दिखा सकता है।
MySQL दृश्य वाक्यविन्यास
आइए अब एक दृश्य बनाने के लिए उपयोग किए जाने वाले बुनियादी सिंटैक्स को देखें MySQL.
CREATE VIEW `view_name` AS SELECT statement;
कहां
- “दृश्य `view_name` बनाएं” बताता है MySQL सर्वर को डेटाबेस में `view_name` नामक एक दृश्य ऑब्जेक्ट बनाने के लिए
- “AS SELECT कथन” SQL कथनों को पैक किया जाना है MySQL दृश्य. यह एक SELECT कथन हो सकता है जिसमें एक तालिका या एकाधिक तालिकाओं से डेटा हो सकता है।
दृश्यों का उपयोग क्यों करें?
किसी इमारत का निर्माण करने से पहले, यह जानना मददगार होता है कि उस दृश्य से वास्तव में आपको क्या लाभ मिलता है।
आप मुख्य रूप से निम्नलिखित 3 कारणों से दृश्यों का उपयोग करना चाह सकते हैं
- अंततः, आप अपने एसक्यूएल डेटा संबंधी आवश्यकताओं के लिए डेटाबेस का उपयोग करने वाले एप्लिकेशन बनाने के लिए आवश्यक ज्ञान। यह अनुशंसा की जाती है कि आप अपने एप्लिकेशन में मूल तालिका संरचना के व्यू का उपयोग करें, न कि सीधे तालिकाओं का। इससे यह सुनिश्चित होता है कि जब आप अपने डेटाबेस को रिफैक्टर करते हैं, तो आपका पुराना कोड एप्लिकेशन को बाधित किए बिना व्यू के माध्यम से मूल स्कीमा देख सकेगा।
- VIEWS पुनः प्रयोज्यता को बढ़ाता है। आपको बार-बार जॉइन से जुड़ी जटिल क्वेरी बनाने की ज़रूरत नहीं पड़ेगी। VIEWS का उपयोग करके सभी जटिलताएँ क्वेरी की एक पंक्ति में बदल जाती हैं। इस तरह के संक्षिप्त कोड को आपके एप्लिकेशन में एकीकृत करना आसान होगा। इससे टाइपो की संभावनाएँ समाप्त हो जाएँगी और आपका कोड अधिक पठनीय होगा।
- VIEWS डेटा सुरक्षा में मदद करते हैं। आप व्यू का उपयोग करके उपयोगकर्ताओं को केवल अधिकृत जानकारी दिखा सकते हैं और क्रेडिट कार्ड नंबर जैसे संवेदनशील डेटा को छिपा सकते हैं।
में दृश्य कैसे बनाएं? MySQL
वाक्य संरचना और इसके लाभ स्पष्ट हो जाने के बाद, नीचे दिए गए चरणों का पालन करके एक कार्यशील दृश्य का निर्माण किया जा सकता है।
दृश्य बनाने की चरण दर चरण प्रक्रिया निम्नलिखित है MySQL:
चरण 1) “myflixdb” का उपयोग करके अपना पहला दृश्य बनाएं
आइए अब “myflixdb” का उपयोग करके अपना पहला दृश्य बनाएं, हम एक सरल दृश्य बनाएंगे जो सदस्य तालिका में देखे गए स्तंभों को प्रतिबंधित करता है।
मान लीजिए कि प्राधिकरण आवश्यकताओं के अनुसार लेखा विभाग केवल सदस्य की तालिका से सदस्य संख्या, नाम और लिंग ही देख सकता है। इसे प्राप्त करने के लिए आप एक VIEW बना सकते हैं।
CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;
चरण 2) दृश्य नोड का विस्तार करना
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL myflixdb के विरुद्ध वर्कबेंच का उपयोग करने और डेटाबेस एक्सप्लोरर में दृश्य नोड का विस्तार करने से हमें निम्नलिखित परिणाम प्राप्त होते हैं।
ध्यान दें कि accounts_v_members ऑब्जेक्ट अब डेटाबेस दृश्य ऑब्जेक्ट में दृश्यमान है।
चरण 3) SELECT कथन निष्पादित करें
चलिए अब एक कार्य निष्पादित करते हैं चयन कथन जो दृश्य से सभी फ़ील्ड का चयन करता है जैसा कि नीचे दिखाया गया है MySQL दृश्य उदाहरण बनाएँ.
SELECT * FROM `accounts_v_members`;
चरण 4) स्क्रिप्ट निष्पादित करें
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL वर्कबेंच के विरुद्ध मायफ्लिक्सडीबी का परीक्षण करने पर हमें नीचे दिखाए गए परिणाम प्राप्त हुए।
| membership_number | full_names | gender |
|---|---|---|
| 1 | Janet Jones | Female |
| 2 | Janet Smith Jones | Female |
| 3 | Robert Phil | Male |
| 4 | Gloria Williams | Female |
| 5 | Leonard Hofstadter | Male |
| 6 | Sheldon Cooper | Male |
| 7 | Rajesh Koothrappali | Male |
| 8 | Leslie Winkle | Male |
| 9 | Howard Wolowitz | Male |
लेखा विभाग के लिए केवल अधिकृत कॉलम ही दिखाए गए हैं। सदस्यों की तालिका में मौजूद अन्य विवरण छिपा दिए गए हैं।
यदि हम किसी विशेष दृश्य को बनाने वाले SQL कथनों को देखना चाहते हैं, तो हम ऐसा करने के लिए नीचे दी गई स्क्रिप्ट का उपयोग कर सकते हैं।
SHOW CREATE VIEW `accounts_v_members`;
उपरोक्त स्क्रिप्ट को निष्पादित करने से आपको दृश्य का नाम और दृश्य बनाने के लिए प्रयुक्त SQL SELECT कथन प्राप्त होता है।
इसमें शामिल हों और देखें MySQL
सिंगल-टेबल व्यू सबसे सरल उदाहरण है। व्यू तब कहीं अधिक उपयोगी हो जाते हैं जब वे मल्टी-टेबल क्वेरी को रैप करते हैं।
आइए अब एक काफी जटिल उदाहरण देखें जिसमें कई तालिकाएँ और उपयोग शामिल हैं में मिलती है.
हम बनाए गए JOIN को पैकेज करेंगे जो तीन (3) तालिकाओं से जानकारी प्राप्त करता है, अर्थात् सदस्य, मूवी और मूवी रेंटल। नीचे वह स्क्रिप्ट दी गई है जो हमें इसे प्राप्त करने में मदद करती है।
CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS mr INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;
उपरोक्त स्क्रिप्ट को निष्पादित करने से हमारे myflixdb में general_v_movie_rentals नाम का दृश्य बनता है
आइए अब general_v_movie_rentals नामक तालिका से सभी फ़ील्ड का चयन करें।
SELECT * FROM `general_v_movie_rentals`;
उपरोक्त स्क्रिप्ट को निष्पादित करना MySQL कार्यक्षेत्र myflixdb के विरुद्ध हमें नीचे दिखाए गए निम्नलिखित परिणाम मिलते हैं।
| membership_number | full_names | title | transaction_date | return_date |
|---|---|---|---|---|
| 1 | Janet Jones | Pirates of the Caribean 4 | 20-06-2012 | 28-06-2012 |
| 1 | Janet Jones | Forgetting Sarah Marshal | 22-06-2012 | 25-06-2012 |
| 3 | Robert Phil | Forgetting Sarah Marshal | 22-06-2012 | 25-06-2012 |
| 2 | Janet Smith Jones | Forgetting Sarah Marshal | 21-06-2012 | 24-06-2012 |
| 3 | Robert Phil | X-Men | 23-06-2012 | 28-06-2012 |
ध्यान दें कि हमें सदस्यों, मूवी और मूवी रेंटल विवरण के बारे में जानकारी प्राप्त करने के लिए जटिल JOIN क्वेरी लिखने की ज़रूरत नहीं थी। हमने बस किसी अन्य साधारण तालिका की तरह नियमित SELECT कथन में दृश्य का उपयोग किया। दृश्य को myflixdb के शीर्ष पर चल रहे एप्लिकेशन सिस्टम में कहीं से भी कॉल किया जा सकता है।
बूंदping इसमें देखे गए दृश्य MySQL
DROP कमांड का उपयोग किसी दृश्य को हटाने के लिए किया जा सकता है डेटाबेस जिसकी अब आवश्यकता नहीं है। किसी दृश्य को हटाने का मूल सिंटैक्स इस प्रकार है।
DROP VIEW `general_v_movie_rentals`;
बूंदping व्यू केवल संग्रहीत क्वेरी को हटाता है; अंतर्निहित टेबल और उनका डेटा अप्रभावित रहता है।

