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

MySQL टेबल मौजूद है या नहीं जांचने के विभिन्न तरीके

MySQL में टेबल अस्तित्व जांचने के कई तरीके हैं, प्रत्येक अलग उपयोग के लिए उपयुक्त।

तरीका 1: SHOW TABLES (सभी टेबल सूचीबद्ध)

mysql> USE business;
mysql> SHOW TABLES;
+--------------------------+
| Tables_in_business       |
+--------------------------+
| addcheckconstraintdemo   |
| addcolumntable           |
| ... (107 टेबल)          |
+--------------------------+

तरीका 2: SHOW TABLES LIKE (विशिष्ट टेबल)

mysql> SHOW TABLES LIKE 'tblstudent';
+---------------------------------+
| Tables_in_business (tblstudent) |
+---------------------------------+
| tblstudent                      |
+---------------------------------+

mysql> SHOW TABLES LIKE 'sampledemo';
Empty set (0.00 sec)  -- टेबल नहीं मिली

तरीका 3: INFORMATION_SCHEMA (प्रोग्रामेटिक, लचीला)

-- बूलियन जांच
SELECT COUNT(*) > 0 AS table_exists
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'business' 
  AND TABLE_NAME = 'tblstudent';

-- पूरी जानकारी
SELECT TABLE_NAME, TABLE_TYPE, ENGINE, CREATE_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'business' 
  AND TABLE_NAME = 'tblstudent';

तरीका 4: SHOW TABLE STATUS

mysql> SHOW TABLE STATUS LIKE 'tblstudent';
-- विस्तृत मेटाडेटा: इंजन, पंक्तियाँ, आकार, कॉलेशन, आदि

तरीका 5: TRY-CATCH पैटर्न (एप्लिकेशन कोड में)

-- PHP/PDO उदाहरण
try {
    $pdo->query("SELECT 1 FROM tblstudent LIMIT 1");
    $exists = true;
} catch (PDOException $e) {
    if ($e->getCode() == '42S02') {  -- टेबल नहीं मिली
        $exists = false;
    }
}

तुलना

विधिगतिउपयोगनोट
SHOW TABLES LIKEतेज़मैन्युअल/एडहॉककेस-असंवेदनशील (डिफ़ॉल्ट)
INFORMATION_SCHEMAमध्यमएप्लिकेशन/स्क्रिप्टअधिक मेटाडेटा, केस-संवेदनशील
SHOW TABLE STATUSधीमा (बड़े DB)मेटाडेटा चाहिएआकार, पंक्तियाँ, इंजन जानकारी
SELECT 1 FROM tableतेज़ (इंडेक्स)एप्लिकेशनअपवाद हैंडलिंग जरूरी

सर्वोत्तम अभ्यास

  • एप्लिकेशन कोड: INFORMATION_SCHEMA या SELECT 1 ट्राई-कैच के साथ
  • एडमिन/स्क्रिप्ट: SHOW TABLES LIKE
  • मेटाडेटा चाहिए: SHOW TABLE STATUS
  1. - MySQL में यूजर-डिफाइंड वेरिएबल के मान परिणाम टेबल में कैसे दिखाएं?

    यूजर-डिफाइंड वेरिएबल और CONCAT_WS() का उपयोग वेरिएबल के लिए @ प्रीफिक्स और संयुक्त परिणाम प्रदर्शित करने के लिए CONCAT_WS() का उपयोग करें। पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable1508 ( StudentFirstName VARCHAR(20), StudentLastName VARCHAR(20) ); Query OK, 0 rows affected (0.55 sec)

  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 में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान 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; परिणाम +---------------+ |