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 मानों (क्रिस) में डालें; क्वेरी ठीक