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

MySQL दो टेबल में शामिल हो?

<घंटा/>

आइए पहले दो टेबल बनाएं और उन्हें विदेशी कुंजी बाधा के साथ जोड़ दें। पहली तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल पेरेंटटेबल बनाएं -> ( -> UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> EmployeeName varchar(10) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड)

इंसर्ट कमांड का उपयोग करके पहली तालिका में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> पेरेंटटेबल (कर्मचारी नाम) मान ('जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> पेरेंटटेबल (कर्मचारी नाम) मान ('कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.32 सेकंड) mysql> पेरेंटटेबल (कर्मचारी नाम) मान ('सैम') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> पेरेंटटेबल (कर्मचारी नाम) मान ('बॉब') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.19 सेकंड)

अब आप एक सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है -

mysql> पेरेंटटेबल से *चुनें;

निम्न आउटपुट है -

<पूर्व>+----------+--------------+| UniqueId | कर्मचारी का नाम |+----------+--------------+| 1 | जॉन || 2 | कैरल || 3 | सैम || 4 | बॉब |+----------+--------------+4 पंक्तियाँ सेट में (0.00 सेकंड)

विदेशी कुंजी बाधाओं के साथ दूसरी तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं चाइल्डटेबल -> (-> UniqueId int NOT NULL PRIMARY KEY, -> EmployeeAddress varchar(100), -> CONSTRAINT fk_uniqueId FOREIGN KEY(UniqueId) रेफरेंस पेरेंटटेबल (UniqueId) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड)

अब इंसर्ट कमांड का उपयोग करके दूसरी टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> चाइल्डटेबल वैल्यू (1,'15 वेस्ट शैडी लेन स्टार्कविले, एमएस 39759') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> चाइल्डटेबल मानों में डालें (2,'72 वेस्ट रॉक क्रीक सेंट। ऑक्सफोर्ड, एमएस 38655'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> चाइल्डटेबल (अनन्य आईडी) मानों में डालें (3); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.41 सेकंड) mysql> चाइल्डटेबल मानों में डालें (4,' 119 उत्तरी सिएरा सेंट मैरीस्विले, ओएच 43040');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> चाइल्डटेबल से *चुनें;

निम्न आउटपुट है -

<पूर्व>+----------+------------------------------------------ --------+| UniqueId | कर्मचारी का पता |+----------+------------------------------------- --------+| 1 | 15 वेस्ट शैडी लेन स्टार्कविले, एमएस 39759 || 2 | 72 वेस्ट रॉक क्रीक सेंट ऑक्सफोर्ड, एमएस 38655 || 3 | शून्य || 4 | 119 उत्तरी सिएरा सेंट मैरीस्विले, ओएच 43040 |+----------+---------------------------- ---------------+4 पंक्तियाँ सेट में (0.00 सेकंड)

आइए अब लेफ्ट जॉइन का उपयोग करके टेबल में शामिल हों। क्वेरी इस प्रकार है -

mysql> ParentTable.UniqueId,ParentTable.EmployeeName,ChildTable.EmployeeAddress fromParentTable लेफ्ट जॉइन -> चाइल्डटेबल पेरेंटटेबल पर चुनें।UniqueId=ChildTable.UniqueId;

निम्न आउटपुट है -

<पूर्व>+----------+--------------+--------------------- -----------------------+| UniqueId | कर्मचारी का नाम | कर्मचारी का पता |+----------+--------------+--------------------- -----------------------+| 1 | जॉन | 15 वेस्ट शैडी लेन स्टार्कविले, एमएस 39759 || 2 | कैरल | 72 वेस्ट रॉक क्रीक सेंट ऑक्सफोर्ड, एमएस 38655 || 3 | सैम | शून्य || 4 | बॉब | 119 नॉर्थ सिएरा सेंट मैरीस्विले, ओएच 43040 |+----------+--------------+--------------- ----------------------------+4 पंक्तियाँ सेट में (0.00 सेकंड)
  1. MySQL एक ही क्वेरी के साथ दो टेबल से चयन करें

    दो तालिकाओं में से चयन करने के लिए UNION का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.90 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1(FirstName) मान

  1. दो तालिकाओं पर एक एकल MySQL चयन क्वेरी संभव है?

    हाँ यह संभव है। निम्नलिखित वाक्य रचना है - अपनेTableName1,yourTableName2 से *चुनें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1 मानों में डालें (), (), (); क्वेरी ठीक है, 3 पंक्तियाँ प्रभावित (0.14 से

  1. MySQL एक ही क्वेरी के साथ दो टेबल में सेलेक्ट और इंसर्ट करें

    यहाँ पहली तालिका बनाने की क्वेरी है। );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.67 सेकंड) उपरोक्त अवधारणा को समझने के लिए, आइए हम दूसरी तालिका बनाएं। );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.61 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2 मानों (क्रिस) में डालें; क्वेरी ठीक