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

MySQL-এ information_schema থেকে নতুন তৈরি টেবিলের সময় বের করা

MySQL-এ information_schema.TABLES টেবিল থেকে CREATE_TIME কলাম ব্যবহার করে সম্প্রতি তৈরি টেবিলের সময় বের করা যায়।

সিনট্যাক্স

SELECT TABLE_NAME, CREATE_TIME 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = 'yourDatabaseName' 
ORDER BY CREATE_TIME DESC LIMIT 1;

দুই টেবিল তৈরি (৫ মিনিট ব্যবধান)

mysql> CREATE TABLE DemoTable1 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT
    -> );
Query OK, 0 rows affected (0.59 sec)
-- Time: 2019-06-10 16:40:51
mysql> CREATE TABLE DemoTable2 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(100),
    -> StudentAge INT
    -> );
Query OK, 0 rows affected (0.59 sec)
-- Time: 2019-06-10 16:45:51

সর্বশেষ তৈরি টেবিলের সময় বের করা

mysql> SELECT TABLE_NAME, CREATE_TIME 
    -> FROM information_schema.TABLES 
    -> WHERE TABLE_SCHEMA = 'web' 
    -> ORDER BY CREATE_TIME DESC LIMIT 1;

আউটপুট

+--------------+---------------------+
| TABLE_NAME   | CREATE_TIME         |
+--------------+---------------------+
| demotable2   | 2019-06-10 16:45:51 |
+--------------+---------------------+
1 row in set (0.01 sec)

ব্যাখ্যা: information_schema.TABLES মেটাডেটা টেবিলে সব টেবিলের তৈরি সময় থাকে। TABLE_SCHEMA = 'web' দিয়ে নির্দিষ্ট ডেটাবেসের টেবিল ফিল্টার করা হয়েছে। ORDER BY CREATE_TIME DESC LIMIT 1 দিয়ে সবচেয়ে নতুন টেবিল বের করা হয়েছে।

সীমাবদ্ধতা: কিছু স্টোরেজ ইঞ্জিন (যেমন MyISAM) এ CREATE_TIME আপডেট নাও হতে পারে। InnoDB-এ এটি নিশ্চিত。

  1. MySQL-এ ORDER BY DESC এবং LIMIT 1,1 ব্যবহার করে সর্বোচ্চ আইডির ডেটা বের করা

  2. MySQL-এ টেবিলের কাঠামো ক্লোন করা

  3. MySQL-এ টেবিলের প্রথম এবং শেষ রেকর্ড বের করা

  4. MySQL-এ INFORMATION_SCHEMA.TABLES দিয়ে সর্বশেষ তৈরি টেবিলের নাম বের করা