5 दिनों से अधिक पुरानी सभी पंक्तियों को हटाने के लिए, आप निम्न सिंटैक्स का उपयोग कर सकते हैं -
अपनेTableName से हटाएं जहां dateiff(now(), yourTableName.yourDateColumnName)> 5;
नोट - मान लें कि आज की तारीख 2019-03-10 है।
अवधारणा को समझने के लिए, आइए एक तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं deleteRowsOlderThan5Demo -> (-> आईडी नॉट न्यूल AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100), -> Post_Date date -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मान ('लैरी', '2019-03-11') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मानों में डालें ( 'माइक', '2019-02-12'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मान ('सैम', '2019-03-10') में डालें; क्वेरी ठीक है , 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मान ('कैरोल', '2019-03-01') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम) में डालें ,Post_Date) मान ('डेविड', '2019-01-31'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मान ('मैक्सवेल', '2019-01-26 में डालें) '); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> deleteRowsOlderThan5Demo (नाम, पोस्ट_डेट) मान ('जॉन', '2019-02-19') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड)पूर्व>चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> * deleteRowsOlderThan5Demo से चुनें;यहाँ आउटपुट है -
+-----+---------+-----------+| आईडी | नाम | Post_Date |+-----+---------+---------------+| 1 | लैरी | 2019-03-11 || 2 | माइक | 2019-02-12 || 3 | सैम | 2019-03-10 || 4 | कैरल | 2019-03-01 || 5 | डेविड | 2019-01-31 || 6 | मैक्सवेल | 2019-01-26 || 7 | जॉन | 2019-02-19 |+-----+-----------+-----------+7 पंक्तियाँ सेट में (0.00 सेकंड)यहाँ 5 दिनों से अधिक पुरानी सभी पंक्तियों को हटाने की क्वेरी है -
mysql> deleteRowsOlderThan5Demo से हटाएं -> जहां dateiff(now(), deleteRowsOlderThan5Demo.Post_Date)> 5;क्वेरी ओके, 5 पंक्तियाँ प्रभावित (0.14 सेकंड)आइए एक बार फिर से टेबल रिकॉर्ड्स की जांच करें। क्वेरी इस प्रकार है -
mysql> * deleteRowsOlderThan5Demo से चुनें;यहाँ आउटपुट है -
+-----+--------+-----------+| आईडी | नाम | Post_Date |+-----+-------+---------------+| 1 | लैरी | 2019-03-11 || 3 | सैम | 2019-03-10 |+-----+----------+-----------+2 पंक्तियों में सेट (0.00 सेकंड)