Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में 5 दिनों से अधिक पुरानी सभी पंक्तियों को हटाना

<घंटा/>

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 सेकंड)

  1. MySQL क्वेरी किसी अन्य दिनांक से 30 दिनों से अधिक पुराने दिनांक को हटाने के लिए?

    निम्नलिखित वाक्य रचना है - अपनेटेबलनाम से हटाएं जहां आपका कॉलमनाम <(yourAnotherDateValue - INTERVAL 30 DAY); आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(ड्यूडेट डेट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.68 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (

  1. MySQL क्वेरी 14 दिनों से अधिक हाल की तारीख लाने के लिए?

    आइए पहले एक − . बनाएं );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.43 सेकंड) इंसर्ट का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1392 मान (2019-10-11) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) − . का चयन करके तालिका से सभी रिकॉर्ड प्रदर्शित करें DemoTable1392 से * चुनें; यह निम्

  1. MySQL में 1 दिन से अधिक पुराने टाइमस्टैम्प पर अद्यतन पंक्तियों को लाया जा रहा है?

    इसके लिए आप from_unixtime() साथ में now() का उपयोग कर सकते हैं। आइए कुछ डेटा प्रकार के साथ एक टेबल बनाएं - उदाहरण );क्वेरी ओके, 0 पंक्तियाँ प्रभावित, 1 चेतावनी (2.87 इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें - उदाहरण डेमो 75 मानों में डालें (unix_timestamp (2020-11-10 ));क्वेरी ठीक है, 1