MySQL में, शर्त के साथ छोटा करने का कोई तरीका नहीं है। आप जहां क्लॉज के साथ ट्रंकेट स्टेटमेंट का उपयोग नहीं कर सकते हैं।
यदि आप शर्त चाहते हैं, तो डिलीट कमांड का उपयोग करें -
अपने TableName से DELETE जहां आप कंडीशन करते हैं;
उपरोक्त सिंटैक्स ठीक है लेकिन यदि आप एक तेज़ समाधान चाहते हैं, तो DELETE Truncate की तुलना में अच्छा नहीं है। ट्रंकेट का लाभ यह है कि यह लॉग को नहीं लिखता है।
आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं DeleteDemo -> (-> Id int, -> Name varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.22 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> DeleteDemo मानों में डालें (101, 'कैरोल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) mysql> DeleteDemo मानों में डालें (102, 'सैम'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) )mysql> DeleteDemo मानों में डालें (103, 'बॉब'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> DeleteDemo मानों में डालें (104, 'माइक'); क्वेरी ठीक, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> DeleteDemo मानों में डालें (105, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) mysql> DeleteDemo मानों में डालें (106, 'मारिया'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> सम्मिलित करें DeleteDemo मानों में (107, 'जॉनसन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)
आइए अब चयन कमांड का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> DeleteDemo से *चुनें;
आउटपुट
<पूर्व>+----------+-----------+| आईडी | नाम |+----------+---------+| 101 | कैरल || 102 | सैम || 103 | बॉब || 104 | माइक || 105 | जॉन || 106 | मारिया || 107 | जॉनसन |+------+--------+7 पंक्तियों में सेट (0.00 सेकंड)अब आप डिलीट कमांड का उपयोग कर सकते हैं लेकिन वह क्लॉज के साथ छोटा नहीं होगा। तालिका से रिकॉर्ड्स को हटाने के लिए क्वेरी जहां क्लॉज इस प्रकार है -
mysql> DeleteDemo से हटाएं जहां Id>104;क्वेरी ठीक है, 3 पंक्तियाँ प्रभावित (0.13 सेकंड)
आइए एक बार फिर सेलेक्ट कमांड का उपयोग करके टेबल डेटा की जांच करें। क्वेरी इस प्रकार है -
mysql> DeleteDemo से *चुनें;
आउटपुट
<पूर्व>+----------+----------+| आईडी | नाम |+----------+----------+| 101 | कैरल || 102 | सैम || 103 | बॉब || 104 | माइक |+------+----------+4 पंक्तियाँ सेट में (0.00 सेकंड)उपरोक्त नमूना आउटपुट को देखें, तालिका से 104 से अधिक के सभी रिकॉर्ड हटा दिए जाते हैं।