← Back to MySQL Course | Chapter 14: Views & Indexes | Lesson 1 of 5

CREATE VIEW

एक VIEW आपके data पर एक saved window जैसा है। यह question store करता है, answers नहीं, इसलिए हर बार जब आप देखते हैं आपको latest rows दिखती हैं।
Syntax
sql
CREATE VIEW view_name AS
SELECT columns
FROM table_name
[WHERE condition];

एक View क्या है?

एक VIEW एक virtual table है जो actual data के बजाय एक saved SELECT query store करता है — view query करना उस underlying query को फिर से चलाता है, इसलिए results हमेशा real tables की live state reflect करते हैं।

उदाहरण: What is a View?

sql
CREATE TABLE orders (id INT, total INT);
INSERT INTO orders VALUES (1, 500), (2, 30);
CREATE VIEW big_orders AS SELECT * FROM orders WHERE total > 100;
SELECT * FROM big_orders;

एक Simple View बनाना

एक complex filter या calculation को एक view के अंदर wrap करना आपको उस logic को एक बार save करने और हर जगह reuse करने देता है, इसलिए view query करने वाला कोई भी बिना original conditions दोबारा type किए data के same filtered subset पाता है।

उदाहरण: Creating a Simple View

sql
CREATE TABLE orders (id INT, status TEXT, total INT);
INSERT INTO orders VALUES (1, 'paid', 500), (2, 'unpaid', 30);
CREATE VIEW paid_orders AS SELECT * FROM orders WHERE status = 'paid';
SELECT * FROM paid_orders;

एक View Query करना

एक बार बन जाने पर, एक view read purposes के लिए एक regular table जैसा behave करता है — आप सीधे इसके against WHERE clauses, ORDER BY, और दूसरी query features add कर सकते हैं exactly जैसे आप किसी base table के against करेंगे।

उदाहरण: Querying a View

sql
CREATE TABLE orders (id INT, total INT);
INSERT INTO orders VALUES (1, 500), (2, 30), (3, 200);
CREATE VIEW big_orders AS SELECT * FROM orders WHERE total > 100;
SELECT * FROM big_orders ORDER BY total DESC;

Joined Tables के साथ Views

Views तब चमकते हैं जब एक query कई tables साथ join करती है, क्योंकि वे आपको उस join complexity को एक single, simple name के पीछे छुपाने देते हैं जिसे दूसरे developers या reports बिना underlying schema जाने query कर सकें।

उदाहरण: Views with Joined Tables

sql
CREATE TABLE customers (id INT, name TEXT);
CREATE TABLE orders (id INT, customer_id INT, total INT);
INSERT INTO customers VALUES (1, 'Amit');
INSERT INTO orders VALUES (101, 1, 500);
CREATE VIEW order_summary AS
SELECT customers.name, orders.total
FROM orders JOIN customers ON orders.customer_id = customers.id;
SELECT * FROM order_summary;

Views के Security Benefits

Views एक security layer की तरह भी काम करते हैं: आप एक ऐसा view बना सकते हैं जो सिर्फ कुछ columns expose करे, फिर users को underlying table के बजाय view तक access दें, sensitive columns को पूरी तरह reach से बाहर रखते हुए।

उदाहरण: Security Benefits of Views

sql
CREATE TABLE employees (id INT, name TEXT, salary INT);
INSERT INTO employees VALUES (1, 'Amit', 50000);
CREATE VIEW public_employees AS SELECT id, name FROM employees;
SELECT * FROM public_employees;
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. यह सोचना कि एक view data की अपनी copy store करता है, जबकि यह सिर्फ SELECT store करता है और हर बार current table data पढ़ता है।
  2. SELECT * से एक view बनाना और बाद में नए table columns दिखने की उम्मीद करना, जबकि column list creation पर fixed है।
  3. दूसरी बार CREATE VIEW big_orders चलाना, जो fail हो जाता है क्योंकि view पहले से exist करती है (CREATE OR REPLACE VIEW इस्तेमाल करें)।
🔒

Chapter Quiz — Complete all 5 topics to unlock

0/5 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.