MySQL में एक खाली VIEW (शून्य पंक्तियों वाली, लेकिन परिभाषित कॉलम संरचना के साथ) बनाने के लिए CREATE OR REPLACE VIEW के साथ FROM dual WHERE FALSE का उपयोग करें।
सिंटैक्स
CREATE OR REPLACE VIEW view_name AS SELECT value1 AS column1, value2 AS column2, ... FROM dual WHERE FALSE;
व्यावहारिक उदाहरण
1. खाली VIEW बनाएं
mysql> CREATE OR REPLACE VIEW empty_view AS
SELECT 'John Smith' AS ClientName,
'US' AS ClientCountryName,
FALSE AS isMarried
FROM dual
WHERE FALSE;
Query OK, 0 rows affected (0.20 sec)
2. VIEW संरचना जांचें
mysql> DESC empty_view; +-------------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------------+-------------+------+-----+---------+-------+ | ClientName | varchar(10) | NO | | | | | ClientCountryName | varchar(2) | NO | | | | | isMarried | int(1) | NO | | 0 | | +-------------------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
3. पुष्टि करें कि VIEW खाली है
mysql> SELECT * FROM empty_view; Empty set (0.00 sec)
मुख्य घटक व्याख्या
| घटक | उद्देश्य |
|---|---|
CREATE OR REPLACE VIEW | VIEW बनाएं या मौजूदा को बदलें |
'value' AS alias | कॉलम नाम और डेटा प्रकार परिभाषित करें |
FROM dual | MySQL डमी टेबल (हमेशा 1 पंक्ति) |
WHERE FALSE | कोई पंक्ति नहीं लौटाने की गारंटी |
dual टेबल के बारे में
- MySQL में
dualएक विशेष डमी टेबल है जिसमें हमेशा 1 पंक्ति होती है SELECT 1 FROM dual;→ 1 लौटाता हैWHERE FALSEइसे 0 पंक्तियों में फ़िल्टर करता है
उपयोग के मामले
- स्कीमा टेम्पलेट: एप्लिकेशन को अपेक्षित कॉलम संरचना देने के लिए
- डायनामिक SQL: रनटाइम पर VIEW परिभाषा बदलने के लिए आधार
- टेस्टिंग: खाली परिणाम सेट की अपेक्षा करने वाले कोड का परीक्षण
- यूनियन आधार:
SELECT * FROM empty_view UNION SELECT ...
स्तंभ डेटा प्रकार नियंत्रित करना
CREATE OR REPLACE VIEW typed_empty_view AS
SELECT
CAST('' AS CHAR(50)) AS name,
CAST(0 AS INT) AS count,
CAST(0.0 AS DECIMAL(10,2)) AS amount,
CAST('2024-01-01' AS DATE) AS dt,
CAST(FALSE AS BOOLEAN) AS flag
FROM dual WHERE FALSE;
VIEW हटाना
DROP VIEW IF EXISTS empty_view;