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

MySQL-এ বর্তমান বছরের সাথে ডাইনামিক টেবিল নাম তৈরি করা (যেমন ২০১৯)

MySQL-এ বর্তমান বছরের সাথে ডাইনামিক টেবিল নাম তৈরি করতে PREPARE স্টেটমেন্ট ব্যবহার করতে হয়। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable1959 (
    UserName VARCHAR(20)
); 
Query OK, 0 rows affected (0.00 sec)

টেবিলে কিছু রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable1959 VALUES('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1959 VALUES('David');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1959 VALUES('Bob');
Query OK, 1 row affected (0.00 sec)

সব রেকর্ড দেখতে SELECT ব্যবহার করি:

mysql> SELECT * FROM DemoTable1959;

আউটপুট:

+----------+
| UserName |
+----------+
| Chris    |
| David    |
| Bob      |
+----------+
3 rows in set (0.00 sec)

এখন বর্তমান বছরের সাথে ডাইনামিক টেবিল নাম তৈরি করার কোয়েরি:

mysql> SET @dynamicQuery = CONCAT('CREATE TABLE `', DATE_FORMAT(CURDATE(),'%Y'), '` AS SELECT UserName FROM DemoTable1959');
Query OK, 0 rows affected (0.00 sec)
mysql> PREPARE st FROM @dynamicQuery;
Query OK, 0 rows affected (0.00 sec)
Statement prepared
mysql> EXECUTE st;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

বর্তমান বছর ২০১৯ হলে নতুন টেবিল থেকে ডেটা দেখতে:

mysql> SELECT * FROM `2019`;

আউটপুট:

+----------+
| UserName |
+----------+
| Chris    |
| David    |
| Bob      |
+----------+
3 rows in set (0.00 sec)

ব্যাখ্যা

DATE_FORMAT(CURDATE(),'%Y') ফাংশন বর্তমান বছর (৪ अঙ্কে) রিটার্ন করে। CONCAT দিয়ে ডাইনামিক SQL কোয়েরি তৈরি করা হয়েছে, যা PREPARE এবং EXECUTE দিয়ে রান করা হয়েছে। এই পদ্ধতিতে আপনি কোনো বছর ভিত্তিক টেবিল স্বয়ংক্রিয়ভাবে তৈরি করতে পারেন।

  1. MySQL-এ AS কীওয়ার্ড ব্যবহার করে কলামের নাম পরিবর্তন করা (এলিয়াস)

  2. MySQL LIKE ব্যবহার করে প্রথম টেবিল থেকে নতুন টেবিল তৈরির পদ্ধতি

  3. MySQL-ে বিদ্যমান টেবিল থেকে নির্দিষ্ট সারি নির্বাচন করে নতুন টেবিল তৈরি

  4. MySQL-এ তারিখ স্ট্রিং থেকে বছর বের করে রেকর্ড আপডেট করা (YEAR + STR_TO_DATE)