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

MySQL में डेटाबेस की सूची कैसे प्राप्त करें?

MySQL में सभी डेटाबेस (स्कीमा) की सूची प्राप्त करने के लिए, INFORMATION_SCHEMA.SCHEMATA टेबल को क्वेरी करें। यह SHOW DATABASES कमांड का प्रोग्रामेटिक विकल्प है और अधिक लचीला है।

क्वेरी

mysql> SELECT schema_name AS DatabaseName 
FROM information_schema.schemata;

नमूना आउटपुट

+---------------------------+
| DatabaseName              |
+---------------------------+
| mysql                     |
| information_schema        |
| performance_schema        |
| sys                       |
| business                  |
| sample                    |
| hello                     |
| test                      |
| mybusiness                |
| databasesample            |
| schemasample              |
| universitydatabase        |
| education                 |
| mydatabase                |
| database1                 |
| sampledatabase            |
| test3                     |
| javadatabase2             |
| javasampledatabase        |
| rdb                       |
| onetomanyrelationship     |
| webtracker                |
| web                       |
| commandline               |
| hb_student_tracker        |
| bothinnodbandmyisam       |
| customertracker           |
| tracker                   |
| demo                      |
| customer_tracker_database |
| login                     |
| onlinebookstore           |
| customer-tracker          |
| web_tracker               |
| instant_app               |
| 1233                      |
+---------------------------+

उपयोगी विविधताएं

सिस्टम डेटाबेस को बाहर करें

SELECT schema_name 
FROM information_schema.schemata
WHERE schema_name NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');

पैटर्न द्वारा फ़िल्टर करें

SELECT schema_name 
FROM information_schema.schemata
WHERE schema_name LIKE 'test%';

डेटाबेस काउंट प्राप्त करें

SELECT COUNT(*) FROM information_schema.schemata
WHERE schema_name NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys');

डेटाबेस आकार के साथ सूची

SELECT table_schema AS DatabaseName,
       ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS Size_MB
FROM information_schema.tables
GROUP BY table_schema
ORDER BY Size_MB DESC;

SHOW DATABASES vs INFORMATION_SCHEMA

विशेषताSHOW DATABASESINFORMATION_SCHEMA
फ्लेक्सिबिलिटीसीमितउच्च (WHERE, JOIN, ORDER BY)
प्रोग्रामेटिक एक्सेसकठिनआसान (मानक SELECT)
अतिरिक्त मेटाडेटानहींहां (चार्टरसेट, कॉलेशन, आदि)

नोट

INFORMATION_SCHEMA केवल उन डेटाबेस को दिखाता है जिन पर यूज़र के पास विशेषाधिकार हैं। SHOW DATABASES समान व्यवहार करता है जब तक SHOW_DATABASES विशेषाधिकार न हो।

  1. - MySQL में IF स्टेटमेंट के परिणाम के रूप में स्ट्रिंग कैसे लौटाएं

    IF() फंक्शन के साथ कंडीशनल स्ट्रिंग परिणाम MySQL में IF() फंक्शन का उपयोग करके शर्त के आधार पर अलग-अलग स्ट्रिंग मान लौटाएं। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeSalary INT ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSER

  1. - MySQL में सभी डेटाबेस देखने के लिए अनुमतियाँ

    SHOW DATABASES अधिकार प्रबंधित करना SHOW DATABASES अधिकार वैश्विक स्तर पर नियंत्रित होता है। किसी उपयोगकर्ता से यह अधिकार हटाने के लिए REVOKE का उपयोग करें। सभी उपयोगकर्ता देखना SELECT user, host FROM mysql.user; विशिष्ट उपयोगकर्ता के अनुदान देखना SHOW GRANTS FOR John@localhost; आउटपुट में SHO

  1. - MySQL में विभिन्न पंक्तियों से सूची को एक फ़ील्ड में कैसे लौटाएं

    समाधान GROUP_CONCAT() फंक्शन का उपयोग करके GROUP BY के साथ मानों को जोड़ें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2024 VALUES (MongoDB, Mike); क्वेरी FROM DemoTable2024 GROUP BY SubjectName; परिणाम +-------------+---------------------------+ | SubjectName | group_concat(Stude