CREATE TABLE IF NOT EXISTS ... AS SELECT के साथ टेबल निर्माण और डेटा इन्सर्ट
टेबल तभी बनाएं जब वह मौजूद न हो, और उसी स्टेटमेंट में प्रारंभिक डेटा भी इन्सर्ट करने के लिए निम्न सिंटैक्स का उपयोग करें:
CREATE TABLE IF NOT EXISTS yourTableName (
yourColumnName1 dataType,
yourColumnName2 dataType,
...
) AS SELECT
yourValue1 AS yourColumnName1,
yourValue2 AS yourColumnName2,
...;
उदाहरण - टेबल बनाएं और यदि टेबल पहले से मौजूद नहीं है तो एक रिकॉर्ड इन्सर्ट करें:
mysql> CREATE TABLE IF NOT EXISTS DemoTable (
id INT,
FirstName VARCHAR(20),
LastName VARCHAR(20)
) AS SELECT 100 AS id, 'John' AS FirstName, 'Smith' AS LastName;
आउटपुट: Query OK, 1 row affected
रिकॉर्ड्स देखें:
mysql> SELECT * FROM DemoTable;
आउटपुट:
+------+-----------+----------+ | id | FirstName | LastName | +------+-----------+----------+ | 100 | John | Smith | +------+-----------+----------+
महत्वपूर्ण बिंदु:
IF NOT EXISTSटेबल पहले से मौजूद होने पर एरर रोकता हैAS SELECTक्लॉज टेबल कॉलम्स को परिभाषित करता है और साथ ही प्रारंभिक डेटा भी इन्सर्ट करता है- यदि टेबल पहले से मौजूद है, तो यह स्टेटमेंट कुछ नहीं करता (न टेबल बनाता है, न डेटा इन्सर्ट करता है)
- कॉलम डेटा टाइप्स SELECT स्टेटमेंट के मानों से अनुमानित होते हैं
उपयोग का मामला: यह पैटर्न इंस्टॉलेशन स्क्रिप्ट्स या माइग्रेशन में उपयोगी है जहां आप डिफॉल्ट/सीड डेटा के साथ टेबल सुनिश्चित करना चाहते हैं बिना डुप्लिकेट एंट्री एरर के।