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

एक MySQL तालिका से रिकॉर्ड खोजें जो दूसरे में मौजूद नहीं है?

<घंटा/>

एक MySQL तालिका से रिकॉर्ड खोजने के लिए जो किसी अन्य तालिका में मौजूद नहीं है, हम उस तालिका के लिए उप-क्वेरी का उपयोग कर सकते हैं जिसमें रिकॉर्ड नहीं हैं। इसे दिए गए चरणों का उपयोग करके बेहतर ढंग से समझा जा सकता है -

सबसे पहले create कमांड का उपयोग करके एक टेबल बनाई जाती है। तालिका का नाम 'प्रेजेंट हिस्ट्री' है और इसमें दो कॉलम हैं। यह इस प्रकार दिया गया है -

mysql> तालिका बनाएं PresentHistory-> (-> HisID int,-> HisName varchar(100)-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.54 सेकंड)

टेबल बनाने के बाद कुछ रिकॉर्ड डाले जाते हैं जो दूसरी टेबल में भी मौजूद रहेंगे। यह इन्सर्ट कमांड की मदद से निम्न प्रकार से किया जाता है -

mysql> PresentHistory मानों में INSERT (1, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> PresentHistory मानों में सम्मिलित करें (2, 'बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) )

रिकॉर्ड्स को सफलतापूर्वक डालने के बाद, उन्हें निम्न प्रकार से चयन विवरण के साथ प्रदर्शित किया जाता है -

mysql> PresentHistory से * चुनें;

उपरोक्त क्वेरी को निष्पादित करने के बाद, प्राप्त आउटपुट है।

<पूर्व>+----------+------------+| हिसआईडी | उसका नाम |+----------+------------+| 1 | जॉन || 2 | बॉब |+----------+--------+2 पंक्तियों में सेट (0.00 सेकंड)

अब, create कमांड का उपयोग करके एक दूसरी टेबल बनाई जाती है। इस तालिका को 'पास्टहिस्ट्री' नाम दिया गया है और इसमें नीचे दिए गए अनुसार दो कॉलम हैं।

mysql> तालिका बनाएं PastHistory-> (-> PastId int,-> PastName varchar(100)-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.74 सेकंड)

तालिका बनाने के बाद, कुछ रिकॉर्ड जो पहली तालिका में मौजूद हैं और कुछ रिकॉर्ड जो पहली तालिका में मौजूद नहीं हैं, उन्हें पास्टहिस्ट्री टेबल में डाला जाता है।

mysql> PastHistory मानों में सम्मिलित करें(1,'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> PastHistory मानों में INSERT (2, 'बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) )mysql> PastHistory मानों में INSERT (3, 'कैरोल'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> पास्टहिस्ट्री मानों में INSERT (4, 'जेसन'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.16 सेकंड) 

अब, दूसरी तालिका में 4 रिकॉर्ड हैं। इनमें से 2 रिकॉर्ड पहली टेबल से हैं और 2 रिकॉर्ड दूसरी टेबल में अलग हैं।

दूसरी तालिका में अभिलेखों को चयन कथन की सहायता से निम्न प्रकार से देखा जाता है -

mysql> PastHistory से * चुनें;

उपरोक्त क्वेरी का आउटपुट है

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

एक तालिका से रिकॉर्ड की जाँच करने के लिए सिंटैक्स जो दूसरी तालिका में मौजूद नहीं है, इस प्रकार दिया गया है -

अपने सेकेंडटेबलनाम से चुनें * जहां कॉलमनामसेसेकंडटेबल नॉट इन (सेलेक्ट कॉलमनामफ्रॉमफर्स्टटेबल फ्रॉम योरफर्स्टटेबलनाम);

दी गई क्वेरी का उपयोग दूसरी तालिका में अलग-अलग रिकॉर्ड प्राप्त करने के लिए किया जाता है -

mysql> पास्टहिस्ट्री से चुनें * जहां पास्टनाम नहीं है (PresentHistory से उसका नाम चुनें);

उपरोक्त क्वेरी का आउटपुट इस प्रकार है -

<पूर्व>+----------+----------+| पास्टआईड | पास्टनाम |+----------+----------+| 3 | कैरल || 4 | जेसन |+-----------+----------+2 पंक्तियों में सेट (0.00 सेकंड)

उपरोक्त आउटपुट से यह स्पष्ट है कि हमें दो रिकॉर्ड मिले हैं जो पहली तालिका में मौजूद नहीं हैं।


  1. MySQL में एक स्कीमा से दूसरे में डेटा डालें?

    एक योजना से दूसरी योजना में डेटा सम्मिलित करने के लिए, सिंटैक्स इस प्रकार है। यहां, हमारे पास दो डेटाबेस हैं “yourDatabaseName1” और “yourDatabaseName2” - अपनेDatabaseName2.yourTableName2 में सम्मिलित करें* yourDatabaseName1.yourTableName1 से चुनें; उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका

  1. MySQL में किसी अन्य तालिका में डेटा से एक तालिका में डेटा अपडेट करें?

    इसके लिए आप JOIN के साथ UPDATE कमांड का इस्तेमाल कर सकते हैं। आइए पहली तालिका बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.57 सेकंड) इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - डेमो54 मान (डेविड, स्मिथ) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) चयन कथन का उपयोग करके तालि

  1. MySQL में एक टेबल से दूसरी टेबल में डेटा डालें?

    एक टेबल से दूसरी टेबल में डेटा डालने के लिए INSERT INTO SELECT स्टेटमेंट का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1    -> (    -> Id int,    -> FirstName varchar(20)    -> ); Query OK, 0 rows affected (0.49 sec) इ