किसी तालिका या स्तंभ की सभी विदेशी कुंजियों को देखने के लिए, संदर्भित_कॉलम_नाम कमांड का उपयोग किया जाता है।
सबसे पहले, दो टेबल बनाए जाते हैं और फिर विदेशी कुंजी बाधा की मदद से संबंधित होते हैं।
पहली तालिका बनाना -
mysql> क्रिएट टेबल फॉरेनटेबल-> (-> id int,-> name varchar(200),-> Fk_pk int-> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.43 सेकंड)
पहली तालिका को सफलतापूर्वक बनाने के बाद, दूसरी तालिका इस प्रकार बनाई जाती है -
mysql> तालिका बनाएं प्राथमिकटेबल1-> (-> Fk_pk int,-> DeptName varchar(200),-> Primary key(Fk_pk)-> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.48 सेकंड)
अब, दोनों टेबल्स को अल्टर कमांड की मदद से जोड़ा जाता है और विदेशी कीकोन्स्ट्रेन भी जोड़ा जाता है। इसके लिए वाक्य रचना इस प्रकार है -
तालिका बदलें yourFirstTable किसी भी बाधा जोड़ेंConstraintName विदेशी कुंजी (कॉलम_नाम जो दूसरी तालिका में विदेशी कुंजी है) yourSecondTable(column_name जो दूसरी तालिका में प्राथमिक कुंजी का कार्य करता है)।
उपरोक्त सिंटैक्स दोनों तालिकाओं को इस प्रकार जोड़ने के लिए लागू किया गया है -
mysql> तालिका में बदलाव करें विदेशी तालिका में बाधा जोड़ेंFKPK विदेशी कुंजी(Fk_pk) संदर्भप्राथमिकतालिका1(Fk_pk);क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (1.57 सेकंड)रिकॉर्ड:0 डुप्लिकेट:0 चेतावनियाँ:0
अब, तालिका में सभी विदेशी कुंजियों को देखने के लिए सिंटैक्स निम्नानुसार दिया गया है -
टेबल के लिए -
<पूर्व> चयन करें TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE REFERENCED_TABLE_NAME ='yourReferencedTableName';अब उपरोक्त सिंटैक्स का उपयोग सभी विदेशी कुंजियों को देखने के लिए क्वेरी बनाने के लिए किया जाता है। प्रश्न इस प्रकार दिया गया है -
mysql> चुनें TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME-> FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE-> WHERE REFERENCED_TABLE_NAME ='प्राइमरीटेबल1';निम्न आउटपुट है -
<पूर्व>+--------------+----------------+----------------- +--------------------------+--------------------------+ | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |+--------------+---------------+---------------------+ -----------------------+--------------------------+| विदेशी तालिका | Fk_pk | कॉन्स्ट एफकेपीके | प्राथमिक तालिका1 | fk_pk |+--------------+----------------+---------------------+ ------------------------+--------------------------+1 सेट में पंक्ति, 2 चेतावनियाँ (0.02 सेकंड)
नमूना आउटपुट में, Constraint_name 'constFKPK' है और table_name 'विदेशी' है। एक कॉलम के लिए -
SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHEREREFERENCED_TABLE_SCHEMA 'नाम' आपकी संदर्भ 'आपका संदर्भ' REANDRENCED_nameकॉलम में सभी विदेशी कुंजियों को प्रदर्शित करने की क्वेरी उपरोक्त सिंटैक्स का उपयोग करके दी गई है। क्वेरी इस प्रकार है -
mysql> चुनें-> TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME-> FROM-> INFORMATION_SCHEMA.KEY_COLUMN_USAGE-> WHERE-> REFERENCED_TABLE_SCHEMA =REFEENED_NAME_TABLE_SCHEMA =REFEENED_NAME_TABLE_SCHEMA ='fREENED_NAME'
प्राप्त आउटपुट इस प्रकार है:
<पूर्व>+--------------+----------------+----------------- +--------------------------+--------------------------+ | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_TABLE_NAME |REFERENCED_COLUMN_NAME |+--------------+---------------+---------------- -+--------------------------+-------------------------- +| विदेशी तालिका | Fk_pk | कॉन्स्ट एफकेपीके | प्राथमिक तालिका1 | fk_pk |+--------------+----------------+---------------------+ ------------------------+--------------------------+1 सेट में पंक्ति, 2 चेतावनियाँ (0.03 सेकंड)