Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL व्यू कैसे बनाएं?

MySQL व्यू CREATE VIEW स्टेटमेंट का उपयोग करके बनाए जाते हैं। व्यू एकल तालिका, एकाधिक तालिकाओं, या किसी अन्य व्यू से बनाए जा सकते हैं। हम जानते हैं कि व्यू बनाने के लिए, एक उपयोगकर्ता के पास विशिष्ट कार्यान्वयन के अनुसार उपयुक्त सिस्टम विशेषाधिकार होना चाहिए।

मूल CREATE VIEW वाक्यविन्यास निम्न है:

वाक्यविन्यास

CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION]

यहाँ,

  • CREATE VIEW - यह स्टेटमेंट एक नया व्यू बनाता है।

  • View_name - view_name व्यू का नाम है। एक व्यू हमेशा एक डेटाबेस से संबंधित होता है। डिफ़ॉल्ट रूप से, एक नया व्यू वर्तमान में उपयोग किए जा रहे डेटाबेस में बनाया जाता है।

  • Select_statement - select_statement एक SELECT स्टेटमेंट है और व्यू की परिभाषा प्रदान करता है। Select_statement आधार तालिकाओं या अन्य व्यू से डेटा चुन सकता है।

  • Column_list - column_list भाग वैकल्पिक है। यह व्यू के नाम के ठीक बाद व्यू के कॉलम के नामों की सूची प्रदान करता है जहां नाम अद्वितीय होने चाहिए। column_list में नामों की संख्या SELECT स्टेटमेंट द्वारा पुनर्प्राप्त कॉलम की संख्या के समान होनी चाहिए। यदि हम अपने व्यू के कॉलम को अलग नाम देना चाहते हैं, तो हम SELECT सूची में [AS name] क्लॉज जोड़कर ऐसा कर सकते हैं।

  • OR REPLACE - यदि CREATE VIEW स्टेटमेंट के साथ वैकल्पिक OR REPLACE क्लॉज जोड़ा जाता है, तो CREATE VIEW स्टेटमेंट मौजूदा व्यू को प्रतिस्थापित करता है और एक नया बनाता है। यदि व्यू मौजूद नहीं है, तो CREATE VIEW, CREATE OR REPLACE VIEW के समान है।

  • ALGORITHM - ALGORITHM क्लॉज वैकल्पिक है, यह प्रभावित करता है कि MySQL व्यू को कैसे संसाधित करता है। ALGORITHM तीन मान लेता है: MERGE, TEMPTABLE, या UNDEFINED। डिफ़ॉल्ट एल्गोरिदम UNDEFINED है।

  • [DEFINER = { user | CURRENT_USER }] [SQL SECURITY { DEFINER | INVOKER }] - DEFINER और SQL SECURITY क्लॉज व्यू आह्वान समय पर एक्सेस विशेषाधिकारों की जांच के लिए उपयोग किए जाने वाले सुरक्षा संदर्भ को निर्दिष्ट करते हैं। यदि आप DEFINER क्लॉज निर्दिष्ट करते हैं, तो निम्न नियम कानूनी DEFINER उपयोगकर्ता मान निर्धारित करते हैं:

    • यदि आपके पास SUPER विशेषाधिकार नहीं है, तो एकमात्र कानूनी उपयोगकर्ता मान आपका अपना खाता है और आप डिफाइनर को किसी अन्य खाते पर सेट नहीं कर सकते।
    • यदि आपके पास SUPER विशेषाधिकार है, तो आप कोई भी वाक्यविन्यास की दृष्टि से कानूनी खाता नाम निर्दिष्ट कर सकते हैं।

एक संग्रहीत रूटीन के भीतर जिसे SQL SECURITY DEFINER विशेषता के साथ परिभाषित किया गया है, CURRENT_USER रूटीन के DEFINER मान को लौटाता है। यह ऐसे रूटीन के भीतर परिभाषित व्यू को भी प्रभावित करता है, यदि व्यू परिभाषा में CURRENT_USER का DEFINER मान होता है।

  • WITH [CASCADED | LOCAL] CHECK OPTION - WITH CHECK OPTION क्लॉज को एक अद्यतन योग्य व्यू के लिए दिया जा सकता है ताकि उन पंक्तियों को सम्मिलित या अद्यतन करने से रोका जा सके जिनके लिए select_statement में WHERE क्लॉज सत्य नहीं है। एक अद्यतन योग्य व्यू के लिए WITH CHECK OPTION क्लॉज में, LOCAL और CASCADED कीवर्ड जांच परीक्षण के दायरे को निर्धारित करते हैं जब व्यू को किसी अन्य व्यू के संदर्भ में परिभाषित किया जाता है। LOCAL कीवर्ड CHECK OPTION को केवल परिभाषित किए जा रहे व्यू तक सीमित करता है। CASCADED अंतर्निहित व्यू के लिए जांच का मूल्यांकन करने का कारण बनता है। जब कोई कीवर्ड नहीं दिया जाता है, तो डिफ़ॉल्ट CASCADED होता है।

उदाहरण

इस उदाहरण में, हम 'Customers' तालिका पर 'First_View' नामक एक व्यू बना रहे हैं जिसमें निम्न डेटा है:

mysql> Select * from Customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (1.30 sec)
mysql> Create view first_view AS SELECT * FROM Customers;
Query OK, 0 rows affected (0.36 sec)

अब, यदि हम व्यू के नाम का उपयोग करके क्वेरी चलाएंगे तो हमें उस तालिका से विवरण मिलेंगे जिस पर यह बनाया गया है।

mysql> Select * from first_view;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
| 1           | Rahul    |
| 2           | Yashpal  |
| 3           | Gaurav   |
| 4           | Virender |
+-------------+----------+
4 rows in set (0.13 sec)
  1. - MySQL में व्यू से टेबल कैसे बनाएं?

    व्यू (VIEW) से टेबल बनाना MySQL में किसी मौजूदा व्यू के डेटा और स्ट्रक्चर से नई टेबल बनाने के लिए CREATE TABLE ... SELECT सिंटैक्स का उपयोग करें। सिंटैक्स CREATE TABLE yourTableName SELECT * FROM yourViewName; चरण-दर-चरण उदाहरण 1. मूल टेबल बनाना और डेटा डालना CREATE TABLE DemoTable830(Name VARCHA

  1. - MySQL में कैस्केड कैसे देखें

    SHOW CREATE TABLE का उपयोग करके टेबल परिभाषा और कैस्केड देखना कैस्केड देखने के लिए MySQL में SHOW CREATE TABLE का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1378 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeId varchar(20), EmployeeFirstName varchar(20), EmployeeLastName varchar(20)

  1. - MySQL व्यू कैसे बनाएं?

    MySQL व्यू बनाने के लिए, नीचे दिए गए सिंटैक्स में CREATE VIEW का उपयोग करें: create view yourViewName as select * from yourTableName; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1802 ( StudentId int, StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमा