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

MySQL टेबल पर सभी कंस्ट्रेंट (Constraints) कैसे देखें: 2 तरीके

MySQL में टेबल के सभी कंस्ट्रेंट (Primary Key, Foreign Key, Unique आदि) प्रदर्शित करने के तरीके

तरीका 1: SHOW CREATE TABLE कमांड

यह सबसे सरल और लोकप्रिय तरीका है। यह पूरी CREATE TABLE स्टेटमेंट दिखाता है जिसमें सभी कंस्ट्रेंट शामिल होते हैं।

SHOW CREATE TABLE yourTableName;

तरीका 2: INFORMATION_SCHEMA.KEY_COLUMN_USAGE

यह तरीका प्रोग्रामेटिक एक्सेस के लिए बेहतर है, खासकर जब आपको केवल कंस्ट्रेंट मेटाडेटा चाहिए।

SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE TABLE_NAME = 'yourTableName';

व्यावहारिक उदाहरण

मान लें हमारे पास ConstraintDemo टेबल पहले से मौजूद है।

तरीका 2 से कंस्ट्रेंट देखें:

mysql> SELECT COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_COLUMN_NAME, REFERENCED_TABLE_NAME 
    -> FROM information_schema.KEY_COLUMN_USAGE 
    -> WHERE TABLE_NAME = 'ConstraintDemo';
+-------------+-----------------+------------------------+-----------------------+ 
| COLUMN_NAME | CONSTRAINT_NAME | REFERENCED_COLUMN_NAME | REFERENCED_TABLE_NAME | 
+-------------+-----------------+------------------------+-----------------------+ 
| Id          | PRIMARY         | NULL                   | NULL                  | 
| Id          | Id              | NULL                   | NULL                  | 
+-------------+-----------------+------------------------+-----------------------+ 
2 rows in set, 2 warnings (0.04 sec)

तरीका 1 से पूरी टेबल परिभाषा देखें:

mysql> SHOW CREATE TABLE ConstraintDemo;
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table          | Create Table                                                                                                                                                                                               | 
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| ConstraintDemo | CREATE TABLE `constraintdemo` (`Id` int(11) NOT NULL, `Name` varchar(100) NOT NULL, PRIMARY KEY (`Id`), UNIQUE KEY `Id` (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | 
+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec)

कौन सा तरीका कब उपयोग करें?

तरीकाउपयोग केस
SHOW CREATE TABLEत्वरित जांच, पूरी DDL देखनी हो, माइग्रेशन स्क्रिप्ट बनानी हो
INFORMATION_SCHEMAएप्लीकेशन में प्रोग्रामेटिक एक्सेस, केवल कंस्ट्रेंट नाम/कॉलम चाहिए, फॉरेन की डिटेल चाहिए

अन्य उपयोगी क्वेरी:

-- केवल फॉरेन की देखें
SELECT * FROM information_schema.TABLE_CONSTRAINTS 
WHERE TABLE_NAME = 'yourTable' AND CONSTRAINT_TYPE = 'FOREIGN KEY';

-- सभी कंस्ट्रेंट प्रकार देखें
SELECT CONSTRAINT_TYPE, COUNT(*) FROM information_schema.TABLE_CONSTRAINTS 
WHERE TABLE_NAME = 'yourTable' GROUP BY CONSTRAINT_TYPE;
  1. - MySQL टेबल को बैच अपडेट कैसे करें?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> BreakfastTime time -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(7:30:45); Query OK, 1 row affected (0.19 sec) mysql> insert i

  1. - MySQL में टेबल के सभी फील्ड/कॉलम कैसे प्रदर्शित करें?

    MySQL में किसी टेबल के सभी कॉलम (फील्ड) की सूची प्राप्त करने के लिए, INFORMATION_SCHEMA.COLUMNS टेबल को क्वेरी करें जहां table_schema वर्तमान डेटाबेस हो और table_name लक्ष्य टेबल हो। यह DESCRIBE या SHOW COLUMNS का प्रोग्रामेटिक विकल्प है। क्वेरी mysql> SELECT column_name AS ALL_FIELDS FROM infor

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |