কম্পিউটার টিউটোরিয়াল

MySQL-এ সব ডেটাবেসের তালিকা দেখানো (information_schema)

MySQL-এ বিদ্যমান সব ডেটাবেসের নাম দেখাতে information_schema.schemata টেবিল কোয়েরি করা স্ট্যান্ডার্ড পদ্ধতি। এটি SHOW DATABASES-এর সমতুল্য কিন্তু আরও নমনীয়।

সিনট্যাক্স

SELECT schema_name AS DatabaseName FROM information_schema.schemata;

উদাহরণ আউটপুট

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                      |
+---------------------------+
36 rows in set (0.00 sec)

ফিল্টারিং উদাহরণ

  • সিস্টেম ডেটাবেস বাদ দেওয়া: WHERE schema_name NOT IN ('mysql','information_schema','performance_schema','sys')
  • নির্দিষ্ট প্রিফিক্স: WHERE schema_name LIKE 'app_%'

SHOW DATABASES와의 পার্থক্য

বিষয়SHOW DATABASESinformation_schema
সিনট্যাক্সসহজSQL স্ট্যান্ডার্ড
ফিল্টার/জয়েননাহ্যাঁ
অতিরিক্ত মেটাডেটানাহ্যাঁ (collation, charset ইত্যাদি)

সুস্থতা

প্রোগ্রাম্যাটিক্যালি ডেটাবেস তালিকা দরকার হলে information_schema পছন্দনীয়।

  1. MySQL-এ লগড-ইন ইউজারদের লিস্ট দেখানো

  2. MySQL কোয়েরি IF স্টেটমেন্টের ফলাফল হিসেবে স্ট্রিং রিটার্ন করার জন্য

  3. MySQL-এ REVOKE SHOW DATABASES দিয়ে ইউজারের সব ডেটাবেস দেখার পারমিশন সরানো

  4. MySQL-এ GROUP_CONCAT ব্যবহার করে একাধিক রোকে এক ফিল্ডে জোড়া দেওয়া