2015-06-30 7 views
7

को हटाकर किसी तालिका में सभी कॉलम का नाम बदलें मेरे पास एक सारणी है जिसे मैंने एक बहुत बड़े सीएसवी से आयात किया है जिसमें 100 से अधिक कॉलम हैं। मैंने अभी देखा है कि उन्होंने कॉलम नामों में रिक्त स्थान के साथ आयात किया है।व्हाइटस्पेस

क्या सभी कॉलम का नाम बदलने और रिक्त स्थान को हटाने का कोई तरीका है?

उत्तर

5

निम्न क्वेरी डेटाबेस your_database में तालिका your_table में किसी भी सफेद स्थान वाले कॉलम नामों से सभी व्हाइटस्पेस को हटा देगी। आप आवश्यक मूल्यों के साथ प्रतिस्थापित कर सकते हैं।

SELECT 
    CONCAT(
      'ALTER TABLE ', C.TABLE_NAME, ' CHANGE `', 
      C.COLUMN_NAME, '` ', REPLACE(C.COLUMN_NAME, ' ', ''), ' ', 
      C.DATA_TYPE, ';' 
     ) 
FROM 
    INFORMATION_SCHEMA.COLUMNS C 
WHERE 
    TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'your_table' 
    AND C.COLUMN_NAME LIKE '% %'; 

स्तंभ नाम के चारों ओर की बैकटिक्स पर बहुत नज़दीक ध्यान दें। हो जाएगा ताकि उत्पादन जो कुछ ऐसी नज़र ALTER TABLE बयान का एक सेट:

ALTER TABLE your_table CHANGE `Old Column Name` OldColumnName VARCHAR; 
-1

इस प्रणाली प्रक्रिया का प्रयास करें:

EXEC sp_RENAME 'TableName.OldName' , 'NewName', 'COLUMN' 
+0

स्पष्ट होना क्षमा की सुविधा देता है कहते हैं कि मैं एक स्तंभ 'आदेश आईडी' नामक मैं यह चाहते 'ऑर्डर आईडी' होने के लिए –

+0

EXEC sp_RENAME 'TableName.Order ID', 'ऑर्डर आईडी', 'COLUMN' –

संबंधित मुद्दे