MYSQL PART-13 IN HINDI
MYSQL PART-13 IN HINDI |
MySQL Views
View processing algorithms
MySQL में आप define कर सकते है की views किस तरह से process किये जायेंगे। इसके लिए MySQL आपको 2 algorithms provide करती है जिन्हें view processing algorithms कहा जाता है। ये algorithms सिर्फ MySQL में ही add की गयी है ये standard SQL में नहीं पायी जाती है। इन algorithms के बारे में निचे detail से दिया जा रहा है।
MERGE - जब आप इस algorithm के द्वारा view को process करते है तो view को execute करने वाला statement और view की definition इस तरह merge होते है की view definition उस statement को replace कर देती है। TEMPTABLE - जब आप इस algorithm को यूज़ करते है तो view को temporary table में retrieve कर लिया जाता है बाद में इस table पर statements execute किये जाते है। UNDEFINED - यदि आप ऊपर दी गयी दोनों algorithms को यूज़ नहीं करना चाहते तो आप UNDEFINED option यूज़ कर सकते है। जब आप इस option को यूज़ करते है तो कौनसी algorithm use की जाएगी ये decision run time पर छोड़ दिया जाता है।
आइये अब देखते है की आप किस प्रकार MySQL में views create कर सकते है।
Creating MySQL views
Views create करने के लिए आप CREATE VIEW statement यूज़ करते है। इस statement का general syntax निचे दिया जा रहा है।
mysql > CREATE
> [ALGORITHM (optional) = {UNDEFINED | MERGED | TEMPTABLE}]
> VIEW view-name [(column-list)(optional)]
> AS select-statement
Create view statement एक नया view create करता है। इसमें view processing algorithm को define करना optional होता है। इसके बाद आप view का नाम देते है। और फिर यदि आप चाहे तो base table के columns को view में अलग नाम दे सकते है। सभी columns के नाम comma (,) से separated होने चाहिए।
इसके बाद आप AS clause लगाते है जो की columns को rename करने के लिए यूज़ किया जाता है। इसके बाद आप वह select statement लिखते है जो view को बनाता है। आपको हमेशा एक बात ध्यान रखनी चाहिए की किसी भी view में सिर्फ SELECT statement की ही query होती है।
आइये अब इसे उदाहरण के माध्यम से समझने का प्रयास करते है।
mysql > create view EmpView as select * from Employee;
यँहा पर EmpView नाम से एक view create किया गया है। Execute होने पर ये view Employee table के पुरे data को show करेगा। इस view को SELECT statement द्वारा execute किया जायेगा। इसका उदाहरण निचे दिया जा रहा है।
mysql > select * from EmpView;
ऊपर दिए गए statement के execute होने पर Employee table का सम्पूर्ण data show हो जायेगा लेकिन आप चाहे तो कुछ columns को hide भी कर सकते है। उदाहरण के लिए यदि आप salary column को hide करना चाहते है उसके लिए view इस प्रकार create कर सकते है।
mysql > create view EmpView2 as select Id, Name,Age from Employee;
यदि आप EmpView2 को create करके देखेंगे तो आपको Employee table से salary column show नहीं होगा।
please comment your choice game ...