किसी MySQL तालिका से सभी रिकॉर्ड्स को हटाने के लिए, आप TRUNCATE कथन का उपयोग कर सकते हैं।
वाक्य रचना इस प्रकार है -
TRUNCATE TABLE yourTableName;
उपरोक्त सिंटैक्स तालिका से सभी रिकॉर्ड हटा देता है। उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने के लिए निम्नलिखित क्वेरी है -
mysql> टेबल बनाएं DeleteAllFromTable −> ( −> PersonId int, −> PersonName varchar(200) −>);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.67 सेकंड)
इंसर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें।
क्वेरी इस प्रकार है -
mysql> DeleteAllFromTable मानों (100, 'जॉनसन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> DeleteAllFromTable मानों में डालें (101, 'जॉन'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.22 सेकंड) )mysql> DeleteAllFromTable मानों में डालें (102, 'कैरोल'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.47 सेकंड) mysql> DeleteAllFromTable मानों में डालें (103, 'सैम'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड)पूर्व>सभी रिकॉर्ड प्रदर्शित करने के लिए निम्नलिखित क्वेरी है -
mysql> DeleteAllFromTable से *चुनें;निम्न आउटपुट है -
<पूर्व>+----------+---------------+| व्यक्ति आईडी | व्यक्ति का नाम |+----------+---------------+| 100 | जॉनसन || 101 | जॉन || 102 | कैरल || 103 | सैम |+----------+---------------+4 पंक्तियाँ सेट में (0.00 सेकंड)
अब TRUNCATE कमांड की मदद से सभी रिकॉर्ड को टेबल से डिलीट कर दें। क्वेरी इस प्रकार है -
mysql> TRUNCATE TABLE DeleteAllFromTable;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.80 सेकंड)
चूंकि हमने उपरोक्त सभी रिकॉर्ड हटा दिए हैं, इसलिए जब हम सेलेक्ट स्टेटमेंट का उपयोग करेंगे तो कोई रिकॉर्ड प्रदर्शित नहीं होगा -
mysql> DeleteAllFromTable से *चुनें;खाली सेट (0.00 सेकंड)
उपरोक्त आउटपुट को देखें, तालिका में कोई रिकॉर्ड नहीं हैं।