MySQL-এ ডেটাবেসের তালিকা ক্রিয়েশন ডেট (তৈরির তারিখ) অনুযায়ী সর্ট করতে INFORMATION_SCHEMA.TABLES-এর CREATE_TIME কলাম ব্যবহার করুন। SHOW DATABASES-এ সর্টিং অপশন নেই।
ক্যোয়ারি
SELECT
TABLE_SCHEMA AS database_name,
MAX(CREATE_TIME) AS creation_time,
MAX(UPDATE_TIME) AS last_update_time
FROM INFORMATION_SCHEMA.TABLES
GROUP BY TABLE_SCHEMA
ORDER BY creation_time DESC;
নমুনা আউটপুট
+---------------------+---------------------+---------------------+
| database_name | creation_time | last_update_time |
+---------------------+---------------------+---------------------+
| test | 2019-04-03 11:37:58 | 2019-04-03 11:38:55 |
| hb_student_tracker | 2019-03-19 03:54:32 | NULL |
| sample | 2019-03-15 00:04:29 | 2019-03-08 16:06:09 |
| test3 | 2019-03-12 20:29:12 | NULL |
| mysql | 2019-02-26 07:10:49 | 2019-04-03 11:38:56 |
| ... | ... | ... |
+---------------------+---------------------+---------------------+
ব্যাখ্যা
TABLE_SCHEMA— ডেটাবেস নামCREATE_TIME— টেবিল তৈরির সময় (ডেটাবেসের সবচেয়ে পুরানো টেবিলের সময় ≈ ডেটাবেস ক্রিয়েশন টাইম)MAX(CREATE_TIME)— ডেটাবেসের সব টেবিলের মধ্যে সর্বোচ্চ (সর্বশেষ) ক্রিয়েশন টাইমGROUP BY TABLE_SCHEMA— ডেটাবেস অনুযায়ী গ্রুপ
দ্রষ্টব্য
- InnoDB-এ
CREATE_TIMEMySQL 8.0+ এ সমর্থিত (পুরানো ভার্সনে NULL হতে পারে) - সিস্টেম ডেটাবেস (
mysql,information_schema,performance_schema,sys) এর CREATE_TIME ইনস্টলেশন টাইম UPDATE_TIMEMyISAM-এ কাজ করে, InnoDB-এ সাধারণত NULL
শুধু ইউজার ডেটাবেস (সিস্টেম ডেটাবেস বাদ)
SELECT TABLE_SCHEMA AS database_name, MAX(CREATE_TIME) AS created
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys')
GROUP BY TABLE_SCHEMA
ORDER BY created DESC;
MySQL 8.0+ এ SHOW CREATE DATABASE
SHOW CREATE DATABASE db_name;
এতে ক্রিয়েশন টাইম দেখা যায় না, শুধু ক্যারেক্টার সেট/কোলেশন।