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

MySQL में टेबल पर कंस्ट्रेंट कैसे दिखाएं?


SHOW CREATE TABLE से सभी कंस्ट्रेंट देखें

MySQL में टेबल के सभी कंस्ट्रेंट (प्राइमरी की, यूनिक, फॉरेन की, चेक, नॉट नल) देखने का सबसे अच्छा तरीका SHOW CREATE TABLE है।

सिंटैक्स

SHOW CREATE TABLE टेबल_नाम;

उदाहरण

1. कई कंस्ट्रेंट के साथ टेबल बनाएं

mysql> CREATE TABLE ShowConstraintsDemo (
    -> BookId INT NOT NULL,
    -> BookName VARCHAR(200) NOT NULL,
    -> BookAuthor VARCHAR(200) UNIQUE NOT NULL,
    -> PRIMARY KEY(BookId, BookName)
    -> );

2. कंस्ट्रेंट देखें

mysql> SHOW CREATE TABLE ShowConstraintsDemo;

आउटपुट:

+---------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| Table               | Create Table                                                                                                                      |
+---------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| ShowConstraintsDemo | CREATE TABLE `showconstraintsdemo` (
  `BookId` int(11) NOT NULL,
  `BookName` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `BookAuthor` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`BookId`,`BookName`),
  UNIQUE KEY `BookAuthor` (`BookAuthor`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
+---------------------+-----------------------------------------------------------------------------------------------------------------------------------+

आउटपुट व्याख्या

  • PRIMARY KEY (`BookId`,`BookName`): कम्पोजिट प्राइमरी की
  • UNIQUE KEY `BookAuthor` (`BookAuthor`): BookAuthor पर यूनिक कंस्ट्रेंट
  • NOT NULL: BookId और BookName पर नॉट नल
  • ENGINE=InnoDB: स्टोरेज इंजन
  • DEFAULT CHARSET=utf8mb4: डिफ़ॉल्ट कैरेक्टर सेट

अन्य उपयोगी कथन

केवल इंडेक्स देखें

SHOW INDEX FROM टेबल_नाम;

INFORMATION_SCHEMA से (प्रोग्रामेटिक एक्सेस)

-- सभी कंस्ट्रेंट
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name';

-- फॉरेन की विवरण
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name'
AND REFERENCED_TABLE_NAME IS NOT NULL;

DESCRIBE / DESC

DESC टेबल_नाम कॉलम, प्रकार, NULL, Key (PRI, UNI, MUL) दिखाता है लेकिन पूर्ण कंस्ट्रेंट परिभाषा नहीं।

  1. - MySQL में ट्रिगर के साथ INSERT कमांड पर टेबल अपडेट करना

    परिचय MySQL ट्रिगर डेटाबेस ऑब्जेक्ट हैं जो विशिष्ट घटनाओं (INSERT, UPDATE, DELETE) पर स्वचालित रूप से निष्पादित होते हैं। यह लेख दिखाता है कि कैसे एक टेबल में INSERT होने पर दूसरी टेबल को स्वचालित रूप से अपडेट करने के लिए AFTER INSERT ट्रिगर बनाया जाए। उदाहरण: दो टेबल बनाना ); Query OK, 0 rows aff

  1. - MySQL स्टोर्ड प्रोसीजर में SHOW CREATE TABLE निष्पादित करें

    डायनामिक SQL से स्टोर्ड प्रोसीजर में SHOW CREATE TABLE चलाएं टेबल नाम पैरामीटर लेकर SHOW CREATE TABLE को डायनामिक रूप से निष्पादित करने वाला स्टोर्ड प्रोसीजर बनाएं। टेबल बनाएं: mysql> create table DemoTable2011 ( StudentId int NOT NULL AUTO_INCREMENT, StudentName varchar(20), StudentAge int, Stud

  1. - MySQL में अल्पविराम-पृथक सूची में स्ट्रिंग और अगला अक्षर खोजने के लिए रेगेक्स

    समाधान REGEX के बजाय FIND_IN_SET() फंक्शन का उपयोग करें, जो अल्पविराम-पृथक सूची के लिए बनाया गया है। सिंटैक्स SELECT * FROM yourTableName WHERE FIND_IN_SET(anyValue, yourColumnName); उदाहरण टेबल बनाएं: INSERT INTO demo17 (first_name, value) VALUES (John,50), (David,), (Adam,50,89), (Adam,49,89,43