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

MySQL डेटाबेस में नॉन-खाली टेबल (non-empty tables) की सूची कैसे प्राप्त करें

INFORMATION_SCHEMA से केवल उन्हीं टेबल को सूचीबद्ध करें जिनमें डेटा है (rows ≥ 1)

सिंटैक्स:

SELECT table_type, table_name, table_schema 
FROM information_schema.tables 
WHERE table_rows >= 1 AND table_schema = 'yourDatabaseName';

व्यावहारिक उदाहरण: 'test' डेटाबेस

mysql> SELECT table_type, table_name, table_schema 
    -> FROM information_schema.tables 
    -> WHERE table_rows >= 1 AND table_schema = 'test';

आउटपुट (80 नॉन-खाली टेबल):

+------------+------------------------------+--------------+ 
| TABLE_TYPE | TABLE_NAME                   | TABLE_SCHEMA | 
+------------+------------------------------+--------------+ 
| BASE TABLE | add30minutesdemo             | test         | 
| BASE TABLE | addoneday                    | test         | 
| BASE TABLE | agecalculatesdemo            | test         | 
| BASE TABLE | aliasdemo                    | test         | 
| BASE TABLE | allcharacterbeforespace      | test         | 
| ... (कुल 80 पंक्तियाँ) ...           | ...          | 
| BASE TABLE | zipcodepadwithzerodemo       | test         | 
+------------+------------------------------+--------------+ 
80 rows in set (0.00 sec)

महत्वपूर्ण नोट्स:

  • table_rows InnoDB के लिए अनुमानित है — कुछ टेबल जिनमें डेटा है, 0 दिखा सकते हैं
  • TABLE_TYPE = 'BASE TABLE' केवल वास्तविक टेबल दिखाता है (व्यू नहीं)
  • सटीक जांच के लिए: SELECT COUNT(*) FROM table_name चलाएं

सटीक जांच के लिए विकल्प (धीमा लेकिन सही):

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema = 'your_db' 
AND table_type = 'BASE TABLE'
AND EXISTS (SELECT 1 FROM your_db.your_table LIMIT 1);

संबंधित उपयोगी क्वेरी:

-- खाली टेबल खोजें
SELECT table_name FROM information_schema.tables 
WHERE table_schema = 'your_db' AND table_rows = 0;

-- टेबल साइज के साथ (बाइट्स में)
SELECT table_name, 
       ROUND(((data_length + index_length) / 1024 / 1024), 2) AS size_mb
FROM information_schema.tables 
WHERE table_schema = 'your_db' 
ORDER BY size_mb DESC;
  1. - MySQL डेटाबेस की सूची और संस्करण कैसे प्राप्त करें?

    MySQL डेटाबेस की सूची प्राप्त करने का सिंटैक्स: show databases; सर्वर संस्करण प्राप्त करने का सिंटैक्स: select version(); कार्यान्वयन डेटाबेस सूची: mysql> show databases; आउटपुट +---------------------------+ | Database | +---------------------------+ | bothinnodbandmyisam

  1. - MySQL डेटाबेस में सभी टेबल सूचीबद्ध करना

    आइए समझते हैं कि MySQL डेटाबेस में सभी टेबल कैसे सूचीबद्ध करें: एक बार डेटाबेस बन जाने पर, हम निम्न क्वेरी का उपयोग करके किसी विशिष्ट डेटाबेस को एक्सेस और उपयोग कर सकते हैं: क्वेरी mysql> USE databaseName Database changed USE स्टेटमेंट के लिए सेमीकॉलन की आवश्यकता नहीं होती। यह QUIT स्टेटमेंट

  1. - mysqldump: MySQL डेटाबेस बैकअप प्रोग्राम (लॉजिकल बैकअप)

    mysqldump लॉजिकल बैकअप करता है: मूल ऑब्जेक्ट परिभाषाओं और टेबल डेटा को पुन: पेश करने वाले SQL स्टेटमेंट जनरेट करता है। उपयोग एक या अधिक डेटाबेस डम्प करें (बैकअप/ट्रांसफर)। आउटपुट: SQL, CSV, अन्य डिलीमिटेड टेक्स्ट, XML। आवश्यक विशेषाधिकार: SELECT (टेबल), SHOW VIEW (व्यू), TRIGGER (ट्रिगर), LOCK TAB