आप जिस कमांड की तलाश कर रहे हैं वह है:
alter table tblName drop column columnName
जहां tblName
तालिका का नाम है और columnName
कॉलम का नाम है, लेकिन कुछ चीजें हैं जो आपको पहले करने की आवश्यकता हो सकती है।
- यदि कॉलम के लिए कोई विदेशी कुंजी संदर्भ हैं, तो आपको पहले उनसे छुटकारा पाना होगा।
- यदि उस कॉलम का उपयोग करने वाला कोई इंडेक्स है, तो आपको या तो इससे छुटकारा पाना होगा या उस कॉलम का उपयोग न करने के लिए इसे एडजस्ट करना होगा।
ध्यान रखें कि जरूरी नहीं कि इस कमांड का प्रदर्शन अच्छा ही हो। एक विकल्प डाउन-टाइम अवधि की प्रतीक्षा करना है जब आप निश्चित हो सकते हैं कि कोई भी डेटाबेस तक नहीं पहुंच रहा है, वर्तमान तालिका का नाम बदलें, फिर create table
का उपयोग करें और insert into ... select from
उन स्तंभों को स्थानांतरित करने के लिए जिन्हें आप हटाना नहीं चाहते।
ओरेकल के बाद के रिलीज में से एक में वास्तव में एक सॉफ्ट डिलीट है जो किसी कॉलम को भौतिक रूप से हटाए बिना अप्रयुक्त के रूप में चिह्नित कर सकता है। इसका वही प्रभाव है क्योंकि अब आप इसका संदर्भ नहीं दे सकते हैं और alter table ... drop unused columns
की तर्ज पर एक कमांड है। जिसे शांत समय में चलाने के लिए बनाया गया है, जो वास्तव में इसे भौतिक रूप से दूर करने का कठिन काम करता है।
व्यस्त समय के दौरान डेटाबेस के प्रदर्शन को नीचे खींचे बिना कॉलम को तुरंत "गायब" करने का इसका लाभ है।