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

MySQL डेटाबेस में फॉरेन की कैसे पहचानें?

MySQL में SHOW CREATE TABLE का उपयोग करके फॉरेन की कंस्ट्रेंट पहचानना

किसी टेबल पर परिभाषित फॉरेन की कंस्ट्रेंट देखने के लिए SHOW CREATE TABLE कमांड का उपयोग करें। यह पूरी टेबल परिभाषा दिखाता है जिसमें फॉरेन की विवरण शामिल होते हैं।

उदाहरण के साथ पूर्ण कार्यान्वयन

पैरेंट टेबल बनाना

mysql> CREATE TABLE DemoTable1 (
    Id INT NOT NULL PRIMARY KEY,
    EmployeeName VARCHAR(100)
);

चाइल्ड टेबल बनाना (फॉरेन की के साथ)

mysql> CREATE TABLE DemoTable2 (
    Id INT NOT NULL,
    StreetName VARCHAR(100),
    CityName VARCHAR(100),
    CountryName VARCHAR(100),
    PinCode INT,
    EmployeeId INT,
    PRIMARY KEY(Id),
    FOREIGN KEY (Id) REFERENCES DemoTable1(Id)
);

फॉरेन की पहचान करने के लिए क्वेरी

mysql> SHOW CREATE TABLE DemoTable2\G

आउटपुट:

*************************** 1. row ***************************
       Table: DemoTable2
Create Table: CREATE TABLE `demotable2` (
  `Id` int(11) NOT NULL,
  `StreetName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `CityName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `CountryName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `PinCode` int(11) DEFAULT NULL,
  `EmployeeId` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  CONSTRAINT `demotable2_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `demotable1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
1 row in set (0.00 sec)

मुख्य भाग:

CONSTRAINT `demotable2_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `demotable1` (`id`)

INFORMATION_SCHEMA से फॉरेन की सूची प्राप्त करना

प्रोग्रामेटिक उपयोग के लिए बेहतर:

SELECT 
    TABLE_NAME,
    COLUMN_NAME,
    CONSTRAINT_NAME,
    REFERENCED_TABLE_NAME,
    REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = 'your_database'
  AND REFERENCED_TABLE_NAME IS NOT NULL;

विशिष्ट टेबल के लिए

SELECT 
    CONSTRAINT_NAME,
    COLUMN_NAME,
    REFERENCED_TABLE_NAME,
    REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = 'your_database'
  AND TABLE_NAME = 'DemoTable2'
  AND REFERENCED_TABLE_NAME IS NOT NULL;

फॉरेन की मेटाडेटा कॉलम व्याख्या

  • CONSTRAINT_NAME: कंस्ट्रेंट का नाम (ऑटो-जेनरेटेड या यूजर-डिफाइंड)
  • COLUMN_NAME: चाइल्ड टेबल में फॉरेन की कॉलम
  • REFERENCED_TABLE_NAME: पैरेंट टेबल नाम
  • REFERENCED_COLUMN_NAME: पैरेंट टेबल में रेफरेंस कॉलम

नोट: \G वर्टिकल फॉर्मेट में आउटपुट देता है, जो चौड़े टेबल के लिए पठनीय होता है।

  1. - MySQL में प्राइमरी की कैसे ड्रॉप करें?

    प्राइमरी की ड्रॉप करने के लिए, पहले ALTER का उपयोग करके टेबल को बदलें। इसके साथ, नीचे दिखाए अनुसार की ड्रॉप करने के लिए DROP का उपयोग करें: सिंटैक्स alter table yourTableName drop primary key; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> StudentId int NOT NULL, -> S

  1. - MySQL में प्राइमरी की को कई टेबल में फॉरेन की के रूप में कैसे रेफ़र करें?

    ALTER TABLE ... ADD CONSTRAINT alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName); उदाहरण alter table demo66 add constraint `id_fk` foreign key(`user_id`) references

  1. - MySQL में विदेशी कुंजी का उपयोग करना

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