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 DATABASES | information_schema |
|---|---|---|
| সিনট্যাক্স | সহজ | SQL স্ট্যান্ডার্ড |
| ফিল্টার/জয়েন | না | হ্যাঁ |
| অতিরিক্ত মেটাডেটা | না | হ্যাঁ (collation, charset ইত্যাদি) |
সুস্থতা
প্রোগ্রাম্যাটিক্যালি ডেটাবেস তালিকা দরকার হলে information_schema পছন্দনীয়।