जब आप INSERT INTO SELECT MySQL क्वेरी का उपयोग करते हैं तो आप स्थिर मान जोड़ सकते हैं। वैल्यू को सीधे सेलेक्ट स्टेटमेंट में लिखें या आप वेरिएबल की मदद से जोड़ सकते हैं जो वैल्यू को इनिशियलाइज़ करता है।
केस 1 - मान को सीधे INSERT INTO SELECT स्टेटमेंट में रखें। वाक्य रचना इस प्रकार है -
INSERT INTO yourSecondTableName(yourColumnName1,yourColumnName2,....N) SELECT yourColumnName1 ,yourColumnName2,.....N,yourStaticValue from yourFirstTableName;
केस 2 - वेरिएबल का उपयोग करके जोड़ें। वाक्य रचना इस प्रकार है -
SET @yourVariableName − = yourstaticValue; INSERT INTO yourSecondTableName(yourColumnName1,yourColumnName2,....N) SELECT yourColumnName1 ,yourColumnName2,.....N,@yourVariableName from yourFirstTableName;
उपरोक्त सिंटैक्स को समझने के लिए, आपको दो टेबल बनाने होंगे। पहली तालिका में तालिका में कुछ रिकॉर्ड होंगे जबकि दूसरी तालिका में पहले तालिका रिकॉर्ड को सम्मिलित कथन में सम्मिलित करके सम्मिलित किया जाएगा और यह एक स्थिर मान जोड़ देगा।
आइए पहली तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> create table First_table -> ( -> Id int NOT NULL AUTO_INCREMENT, -> FirstValue int, -> SecondValue int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.56 sec)
अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है -
mysql> insert into First_table(FirstValue,SecondValue) values(10,14); Query OK, 1 row affected (0.20 sec) mysql> insert into First_table(FirstValue,SecondValue) values(12,13); Query OK, 1 row affected (0.52 sec) mysql> insert into First_table(FirstValue,SecondValue) values(100,110); Query OK, 1 row affected (0.14 sec) mysql> insert into First_table(FirstValue,SecondValue) values(45,55); Query OK, 1 row affected (0.27 sec)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> select *from First_table;
निम्न आउटपुट है -
+----+------------+-------------+ | Id | FirstValue | SecondValue | +----+------------+-------------+ | 1 | 10 | 14 | | 2 | 12 | 13 | | 3 | 100 | 110 | | 4 | 45 | 55 | +----+------------+-------------+ 4 rows in set (0.00 sec)
चलिए दूसरी टेबल बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> create table Second_table -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Value1 int, -> Value2 int, -> Value3 int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.81 sec)
उपरोक्त तालिका में तीन स्तंभ हैं जिनमें दो स्तंभों को पहली तालिका से मान मिलेगा जबकि तीसरे स्तंभ को प्रत्यक्ष या परोक्ष रूप से मान मिलेगा।
क्वेरी INSERT INTO SELECT स्टेटमेंट इस प्रकार है -
केस 1 - तीसरे कॉलम में स्थिर मान जोड़ें। क्वेरी इस प्रकार है -
mysql> insert into Second_table(Value1,Value2,Value3) -> select FirstValue,SecondValue,45 from First_table; Query OK, 4 rows affected (0.16 sec) Records − 4 Duplicates − 0 Warnings − 0
यहां, मैंने तीसरे कॉलम में 45 जोड़ दिए हैं। अब सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड्स की जांच करें। क्वेरी इस प्रकार है -
mysql> select *from Second_table;
निम्न आउटपुट है -
+----+--------+--------+--------+ | Id | Value1 | Value2 | Value3 | +----+--------+--------+--------+ | 1 | 10 | 14 | 45 | | 2 | 12 | 13 | 45 | | 3 | 100 | 110 | 45 | | 4 | 45 | 55 | 45 | +----+--------+--------+--------+ 4 rows in set (0.00 sec)
केस 2 - जब आप एक वेरिएबल का उपयोग करते हैं। क्वेरी इस प्रकार है -
mysql> set @staticValue − = 20; Query OK, 0 rows affected (0.00 sec) mysql> insert into Second_table(Value1,Value2,Value3) -> select FirstValue,SecondValue,@staticValue from First_table; Query OK, 4 rows affected (0.19 sec) Records − 4 Duplicates − 0 Warnings − 0
मेरे तीसरे कॉलम के लिए मान 20 जोड़ना। आइए एक बार फिर सेलेक्ट स्टेटमेंट का उपयोग करके टेबल के रिकॉर्ड्स की जांच करें। क्वेरी इस प्रकार है -
mysql> select *from Second_table;
निम्न आउटपुट है -
+----+--------+--------+--------+ | Id | Value1 | Value2 | Value3 | +----+--------+--------+--------+ | 1 | 10 | 14 | 20 | | 2 | 12 | 13 | 20 | | 3 | 100 | 110 | 20 | | 4 | 45 | 55 | 20 | +----+--------+--------+--------+ 4 rows in set (0.00 sec)