टेबल अस्तित्व जांचने के लिए INFORMATION_SCHEMA.TABLES क्वेरी करना
किसी डेटाबेस में टेबल मौजूद है या नहीं, यह जांचने का मानक तरीका INFORMATION_SCHEMA.TABLES क्वेरी करना है।
सिंटैक्स
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';
उदाहरण
CREATE TABLE Client_information (Id INT, Name VARCHAR(10)); INSERT INTO Client_information VALUES (1, 'Larry'), (2, 'Mike'), (3, 'Sam');
जांच क्वेरी
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Client_information';
आउटपुट (2 डेटाबेस में मौजूद)
+---------------+--------------+--------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------------+ | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE | VERSION | ROW_FORMAT | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME | UPDATE_TIME | CHECK_TIME | TABLE_COLLATION | CHECKSUM | CREATE_OPTIONS | TABLE_COMMENT | +---------------+--------------+--------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------------+ | def | sample | client_information | BASE TABLE | InnoDB | 10 | Dynamic | 4 | 4096 | 16384 | 0 | 0 | 0 | NULL | 2019-03-11 20:02:40 | NULL | NULL | utf8_general_ci | NULL | | | | def | test | client_information | BASE TABLE | InnoDB | 10 | Dynamic | 3 | 5461 | 16384 | 0 | 0 | 0 | NULL | 2019-04-03 02:28:31 | 2019-04-03 02:29:00 | NULL | utf8mb4_0900_ai_ci | NULL | | | +---------------+--------------+--------------------+------------+--------+---------+------------+------------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------------+
सरल बूलियन जांच (EXISTS)
SELECT EXISTS (
SELECT 1 FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'Client_information'
) AS table_exists;
+--------------+ | table_exists | +--------------+ | 1 | +--------------+
वैकल्पिक विधियां
SHOW TABLES LIKE 'Client_information';— सरल, लेकिन डेटाबेस नाम फ़िल्टर नहीं कर सकता (वर्तमान DB पर लागू)।SHOW TABLES FROM db_name LIKE 'tbl_name';— डेटाबेस निर्दिष्ट कर सकते हैं।- एप्लिकेशन कोड में:
DatabaseMetaData.getTables()(JDBC) या समान API।
नोट
TABLE_SCHEMAऔरTABLE_NAMEकेस-सेंसिटिविटी OS पर निर्भर करती है (Windows: असंवेदनशील, Linux: संवेदनशील)।INFORMATION_SCHEMAक्वेरी मेटाडेटा लॉक ले सकती है; अत्यधिक उपयोग से बचें।