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

MySQL-এ DELETE এবং INTERVAL ব্যবহার করে ৩০ দিন পুরনো রেকর্ড মুছে ফেলা

নির্দিষ্ট দিনের চেয়ে পুরনো রেকর্ড মুছে ফেলতে DELETE স্টেটমেন্টে INTERVAL এবং NOW() ব্যবহার করা হয়।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> UserMessage TEXT,
    -> UserMessageSentDate DATE
    -> );
Query OK, 0 rows affected (0.59 sec)

mysql> INSERT INTO DemoTable VALUES('Hi', '2019-06-01');
mysql> INSERT INTO DemoTable VALUES('Hello', '2019-07-02');
mysql> INSERT INTO DemoTable VALUES('Awesome', '2019-05-04');
mysql> INSERT INTO DemoTable VALUES('Good', '2019-01-10');

সকল রেকর্ড

+-------------+---------------------+
| UserMessage | UserMessageSentDate |
+-------------+---------------------+
| Hi          | 2019-06-01          |
| Hello       | 2019-07-02          |
| Awesome     | 2019-05-04          |
| Good        | 2019-01-10          |
+-------------+---------------------+

৩০ দিন পুরনো রেকর্ড ডিলিট (ধরে নিচ্ছি আজ ২০১৯-০৭-০২)

mysql> DELETE FROM DemoTable WHERE UserMessageSentDate < NOW() - INTERVAL 30 DAY;
Query OK, 3 rows affected (0.11 sec)

বাকি রেকর্ড

+-------------+---------------------+
| UserMessage | UserMessageSentDate |
+-------------+---------------------+
| Hello       | 2019-07-02          |
+-------------+---------------------+

সতর্কতা: NOW() ডেটাটাইম রিটার্ন করে, DATE কালামের সাথে তুলনায় অটোমেটিক কনভার্সন হয়। প্রোডাকশনে ব্যাকআপ নিয়ে কাজ করুন।

  1. MySQL কোয়ারি: অন্য একটি তারিখ থেকে ৩০ দিন পুরনো DATE মুছে ফেলা

  2. MySQL-এ ১৪ দিনের চেয়ে সাম্প্রতিক তারিখ বের করা

  3. MySQL-এ ৫ মিনিট পুরনো টাইমস্ট্যাম্পের রেকর্ড ডিলিট করা

  4. MySQL-এ FROM_UNIXTIME ও NOW ব্যবহার করে ১ দিন পুরনো টাইমস্ট্যাম্প রো ফেচ করা