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

MySQL में प्रत्येक कंस्ट्रेंट के फील्ड कैसे प्राप्त करें?


यदि आपके पास "business" नामक डेटाबेस है जिसमें कई टेबल हैं, और आप प्रत्येक कंस्ट्रेंट के फील्ड जानना चाहते हैं, तो information_schema.key_column_usage टेबल को क्वेरी करें।

क्वेरी

mysql> select *
-> from information_schema.key_column_usage
-> where constraint_schema = 'business';

मुख्य कॉलम की व्याख्या

कॉलमविवरण
CONSTRAINT_CATALOGकंस्ट्रेंट कैटलॉग (आमतौर पर 'def')
CONSTRAINT_SCHEMAडेटाबेस नाम
CONSTRAINT_NAMEकंस्ट्रेंट का नाम (जैसे PRIMARY, FK नाम)
TABLE_SCHEMAटेबल का डेटाबेस
TABLE_NAMEटेबल नाम
COLUMN_NAMEकंस्ट्रेंट में शामिल कॉलम नाम
ORDINAL_POSITIONकंपोजिट कंस्ट्रेंट में कॉलम की स्थिति
REFERENCED_TABLE_SCHEMAरेफरेंस की गई टेबल का डेटाबेस (FK के लिए)
REFERENCED_TABLE_NAMEरेफरेंस की गई टेबल नाम (FK के लिए)
REFERENCED_COLUMN_NAMEरेफरेंस किया गया कॉलम नाम (FK के लिए)

नमूना आउटपुट (संक्षिप्त)

+--------------------+-------------------+--------------------------+--------------+------------------------------+--------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+
| CONSTRAINT_CATALOG | CONSTRAINT_SCHEMA | CONSTRAINT_NAME          | TABLE_SCHEMA | TABLE_NAME                   | COLUMN_NAME  | ORDINAL_POSITION | POSITION_IN_UNIQUE_CONSTRAINT | REFERENCED_TABLE_SCHEMA | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME |
+--------------------+-------------------+--------------------------+--------------+------------------------------+--------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+
| def                | business          | PRIMARY                  | business     | primarytable                 | FKPK         | 1                | NULL                          | NULL                    | NULL                  | NULL                   |
| def                | business          | PRIMARY                  | business     | primarytable1                | Fk_pk        | 1                | NULL                          | NULL                    | NULL                  | NULL                   |
| def                | business          | PRIMARY                  | business     | autoincrementtable           | id           | 1                | NULL                          | NULL                    | NULL                  | NULL                   |
| ...                | ...               | ...                      | ...          | ...                          | ...          | ...              | ...                           | ...                     | ...                   | ...                    |
| def                | business          | constFKPK                | business     | foreigntable                 | Fk_pk        | 1                | 1                             | business                | primarytable1         | fk_pk                  |
| def                | business          | FKConst                  | business     | foreigntabledemo             | FK           | 1                | 1                             | business                | primarytabledemo      | fk                     |
| def                | business          | ConstFK                  | business     | tblf                         | FK_PK        | 1                | 1                             | business                | tblp                  | fk_pk                  |
+--------------------+-------------------+--------------------------+--------------+------------------------------+--------------+------------------+-------------------------------+-------------------------+-----------------------+------------------------+

महत्वपूर्ण बिंदु:

  • PRIMARY कंस्ट्रेंट प्राइमरी की दर्शाते हैं
  • ORDINAL_POSITION कंपोजिट की में कॉलम का क्रम बताता है
  • विदेशी कुंजी (FOREIGN KEY) के लिए REFERENCED_TABLE_NAME और REFERENCED_COLUMN_NAME भरे होते हैं
  • यह क्वेरी सभी प्रकार के कंस्ट्रेंट (PRIMARY KEY, UNIQUE, FOREIGN KEY) दिखाती है

  1. - MySQL में एक क्वेरी से दो फील्ड की गिनती कैसे प्राप्त करें?

    MySQL में CASE और SUM() का उपयोग करके एक क्वेरी में कई मानों की गिनती जब आपको एक ही कॉलम में अलग-अलग मानों (जैसे Male और Female) की गिनती एक साथ चाहिए, तो CASE स्टेटमेंट के साथ SUM() फंक्शन का उपयोग करें। उदाहरण: कर्मचारियों के लिंग की गिनती पहले एक डेमो टेबल बनाएं: CREATE TABLE DemoTable ( Emp

  1. - MySQL में चयनित पंक्तियों का आकार (आकार) कैसे प्राप्त करें?

    MySQL में CHAR_LENGTH() फ़ंक्शन का उपयोग करके स्ट्रिंग कॉलम की लंबाई (वर्णों में) प्राप्त की जा सकती है, और SUM() के साथ चयनित पंक्तियों का कुल आकार निकाला जा सकता है। सिंटैक्स SELECT SUM(CHAR_LENGTH(column_name)) FROM table_name WHERE condition; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREA

  1. - MySQL में NULL या नॉन-NULL मानों वाले टेबल के सभी फील्ड अपडेट करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.58 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(10,NULL); Query OK, 1 row affected (0.32 sec) mysql&