मेरे पास 100000 से अधिक डेटा तत्वों वाला एक टेबल है, लेकिन इसमें लगभग 350 रिक्त पंक्तियां हैं। मैं phpmyadmin का उपयोग कर इस खाली पंक्तियों को कैसे हटा सकता हूं? मैन्युअल रूप से हटाना एक कठिन काम है।मैं MySQL में रिक्त पंक्तियों को कैसे हटा सकता हूं?
उत्तर
सामान्य जवाब है:
DELETE FROM table_name WHERE some_column = '';
या
DELETE FROM table_name WHERE some_column IS NULL;
देखें: http://dev.mysql.com/doc/refman/5.0/en/delete.html
जब आप अपने टेबल पोस्टअधिक जानकारी ~
इसके अलावा, कार्य करना न भूलें! :
SELECT * FROM table_name WHERE some_column = '';
हटाने से पहले, तो आप देख सकते हैं कि आप कौन सी पंक्तियां हटा रहे हैं! मुझे लगता है कि phpMyAdmin में आप केवल चयन कर सकते हैं और फिर "सभी का चयन करें" और हटाएं, लेकिन मुझे यकीन नहीं है। यह बहुत तेज़ और बहुत सुरक्षित होगा।
मेरे पास एक PHP स्क्रिप्ट है जो स्वचालित रूप से कॉलम डेटा प्रकारों के आधार पर खाली पंक्तियों को हटा देती है।
इससे मुझे विभिन्न कॉलम प्रकारों के लिए अलग-अलग "खालीपन" को परिभाषित करने की अनुमति मिलती है।
उदा।
table
first_name (varchar) | last_name (varchar) | some_qty (int) | other_qty (decimal)
DELETE FROM `table` WHERE
(`first_name` IS NULL OR `first_name` = '')
AND
(`last_name` IS NULL OR `last_name` = '')
AND
(`some_qty` IS NULL OR `some_qty` = 0)
AND
(`other_qty` IS NULL OR `other_qty` = 0)
चूंकि मेरे सिस्टम में "0" मान व्यर्थ हैं, इसलिए मैं उन्हें खाली मानता हूं। लेकिन मुझे पता चला कि यदि आप (first_name
= 0) करते हैं तो आप हमेशा सत्य पाएंगे, क्योंकि स्ट्रिंग हमेशा == 0 MySQL में होती है। तो मैं डेटा प्रकार के लिए "खाली" की परिभाषा तैयार करता हूं।
मैं विंडोज़ में कमांड प्रॉम्प्ट में mysql
ऑपरेशन कर रहा हूं। और बुनियादी प्रश्नों:
delete * from table_name where column=''
और
delete * from table_name where column='NULL'
काम नहीं करता। मुझे नहीं पता कि यह phpmyadmin
वर्गमीटर निर्माता में काम करता है या नहीं। वैसे भी:
delete * from table_name where column is NULL
ठीक काम करता है।
यह प्रक्रिया उन सभी कॉलमों के लिए किसी भी पंक्ति को हटा देगी जो प्राथमिक कॉलम को अनदेखा कर रहे हैं जो आईडी के रूप में सेट की जा सकती है। मुझे उम्मीद है इससे आपको मदद मिली होगी।
DELIMITER //
CREATE PROCEDURE DeleteRowsAllColNull(IN tbl VARCHAR(64))
BEGIN
SET @tbl = tbl;
SET SESSION group_concat_max_len = 1000000;
SELECT CONCAT('DELETE FROM `',@tbl,'` WHERE ',(REPLACE(group_concat(concat('`',COLUMN_NAME, '` is NULL')),',',' AND ')),';') FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = @tbl AND COLUMN_KEY NOT LIKE 'PRI' into @delete_all;
PREPARE delete_all FROM @delete_all;
EXECUTE delete_all;
DEALLOCATE PREPARE delete_all;
END //
DELIMITER ;
इस तरह की प्रक्रिया का निष्पादन करें।
CALL DeleteRowsAllColNull('your table');
मैं यह पहले से ही उत्तर दिया गया है और एक टिक गया है पता है, लेकिन मैं ऐसा करने के लिए एक छोटे से समारोह को लिखा था और सोचा था कि यह अन्य लोगों के लिए उपयोगी हो सकता है।
मैं अपने फ़ंक्शन को सरणी के साथ कॉल करता हूं ताकि मैं अलग-अलग तालिकाओं के लिए एक ही फ़ंक्शन का उपयोग कर सकूं।
$tableArray=array("Address", "Email", "Phone"); //This is the column names
$this->deleteBlankLines("tableName",$tableArray);
और यहाँ समारोह जो सरणी लेता है और नष्ट स्ट्रिंग
private function deleteBlankLines($tablename,$columnArray){
$Where="";
foreach($columnArray as $line):
$Where.="(`".$line."`=''||`".$line."` IS NULL) && ";
endforeach;
$Where = rtrim($Where, '&& ');
$query="DELETE FROM `{$tablename}` WHERE ".$Where;
$stmt = $this->db->prepare($query);
$stmt->execute();
}
बनाता है आप एक से अधिक तालिकाओं के लिए इस सुविधा का उपयोग कर सकते हैं। आपको बस एक अलग टेबल नाम और सरणी में भेजने की आवश्यकता है और यह काम करेगा।
मेरा फ़ंक्शन एक ही समय में खाली कॉलम या पूर्ण कॉलम की पूरी पंक्ति की जांच करेगा। यदि आपको NULL की जांच करने की आवश्यकता नहीं है तो आप उस भाग को हटा सकते हैं।
- 1. मैं पंक्तियों को कैसे हटा सकता हूं?
- 2. मैं वाईआई में पंक्तियों को कैसे हटा सकता हूं?
- 3. मैं पायथन में अग्रणी व्हाइटस्पेस को कैसे हटा सकता हूं?
- 4. मैं एक MySQL डेटाबेस कैसे हटा सकता हूं?
- 5. मैं एक सिम्लिंक कैसे हटा सकता हूं?
- 6. मैं सत्र चर को कैसे हटा या हटा सकता हूं?
- 7. मैं MySQL तालिका में अधिकतम पंक्तियों को कैसे सेट कर सकता हूं?
- 8. मैं UIViewController से UINavigationBar को कैसे हटा सकता हूं?
- 9. मैं jQuery में बच्चों को कैसे हटा सकता हूं?
- 10. मैं बाज़ार में अनवरोधित फ़ाइलों को कैसे हटा सकता हूं?
- 11. मैं सीएसएस में पृष्ठभूमि-छवि को कैसे हटा सकता हूं?
- 12. मैं वर्तमान निर्देशिका में उपनिर्देशिका को कैसे हटा सकता हूं?
- 13. मैं यूनिक्स में tar.bz फ़ाइल को कैसे हटा सकता हूं?
- 14. मैं postgresql में संग्रहीत प्रक्रिया को कैसे हटा सकता हूं?
- 15. मैं MySQL में किसी तालिका में प्रत्येक कॉलम को कैसे हटा सकता हूं?
- 16. मैं दो तालिकाओं की तुलना कैसे कर सकता हूं और SQL में डुप्लिकेट पंक्तियों को हटा सकता हूं?
- 17. मैं विशेष वर्ण कैसे हटा सकता हूं?
- 18. कस्टम दृश्यों के बीच मैं UIToolbar में रिक्त स्थान कैसे हटा सकता हूं?
- 19. मैं सभी लाइनब्रेक कैसे हटा सकता हूं?
- 20. मैं MYSQL क्वेरी में हटाई गई पंक्तियों की संख्या को कैसे गिन सकता हूं?
- 21. मैं बैश फ़ंक्शन कैसे हटा सकता हूं?
- 22. मैं प्रोग्राम को एक प्रोग्राम को कैसे हटा सकता हूं?
- 23. मैं लेटेक्स-टेबल में पंक्तियों में पंक्तियों को कैसे जोड़ सकता हूं?
- 24. मैं कई पंक्तियों को एक MySQL तालिका में कैसे डाल सकता हूं और नई आईडी वापस कर सकता हूं?
- 25. मैं सत्र दुरुपयोग को कैसे ट्रैक और हटा सकता हूं?
- 26. मैं एक सिस्टम को कैसे हटा सकता हूं। Linq.Expression?
- 27. मैं गिट के MERGE_MSG को कैसे हटा सकता हूं?
- 28. मैं एक पायथन लिपि को कैसे हटा सकता हूं?
- 29. मैं तारों से स्लेश को कैसे हटा सकता हूं?
- 30. मैं केवल पढ़ने-योग्य फ़ाइल को कैसे हटा सकता हूं?
क्या आप अपनी टेबल संरचना पोस्ट कर सकते हैं, और पूरे रिकॉर्ड को रिक्त माना जाने के लिए कौन सा क्षेत्र रिक्त होना चाहिए? –