Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विभिन्न डेटाबेस में एकाधिक टेबल कनेक्ट करें? माई एसक्यूएल

आपके लिए एक अच्छी रणनीति एक एकल MySQL उपयोगकर्ता को परिभाषित करना हो सकता है जिसकी दोनों डेटाबेस तक समान पहुंच हो। कुछ इस तरह:

GRANT ALL ON siteinfo.* TO [email protected] IDENTIFIED BY 'password';
GRANT ALL ON sitedescriptions.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

एक बार जब आप उस उपयोगकर्ता के रूप में एक कनेक्शन स्थापित कर लेते हैं, तो आपके पास दोनों डेटाबेस तक पहुंच होगी, और डेटाबेस नाम के साथ अपने टेबल नामों को प्रीफ़िक्स करके उन्हें आसानी से संदर्भित कर सकते हैं।

SELECT * FROM siteinfo.sites;

आप बिना किसी कठिनाई के इस तरह से डेटाबेस में अपनी तालिकाओं में शामिल हो सकते हैं। तो अपने दूसरे प्रश्न का उत्तर देने के लिए, किसी साइट के लिए सभी तीन विवरण पंक्तियाँ प्राप्त करने के लिए, आप ऐसा कर सकते हैं (यह मानते हुए कि प्रत्येक डेटाबेस में साइटों की एक ही आईडी है, या एक ही नाम है, या कुछ अद्वितीय है जिसमें आप शामिल हो सकते हैं):

SELECT * FROM
    siteinfo.sites AS s LEFT JOIN 
    sitedescriptions.description AS d ON s.siteId=d.siteId
WHERE s.siteId=123;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में कीवर्ड से बचते समय क्या मुझे बैकटिक्स का उपयोग करना चाहिए या नहीं?

  2. MySQL में मौजूदा टेबल में ऑटो इंक्रीमेंट कॉलम कैसे जोड़ें

  3. समूहीकृत परिणामों के प्रत्येक समूह के लिए शीर्ष n रिकॉर्ड प्राप्त करें

  4. त्रुटि:कनेक्शन ऑटोकॉमिट मोड में है

  5. Neo4j - साइफर का उपयोग करके एक बाधा छोड़ें