ALTER TABLE और DROP Commands
Table संरचना बदलना
ALTER TABLE आपको मौजूदा table की संरचना उसे delete किए या data खोए बिना बदलने देता है। आप नए columns जोड़, column का type बदल, columns rename, या columns हटा सकते हैं। यह DDL command है जो तब इस्तेमाल होती है जब आपकी data ज़रूरतें बदलें।
Column जोड़ना
ALTER TABLE students ADD email VARCHAR(100);
यह students table में email column जोड़ता है। मौजूदा rows को नए column में NULL मिलता है जब तक आप भरें नहीं। आप एक command में कई columns भी जोड़ सकते हैं।
Column modify करना
ALTER TABLE students MODIFY marks FLOAT;
MODIFY column का data type बदलता है — यहाँ marks दशमलव allow करने को FLOAT बनता है। पक्का कीजिए मौजूदा values नए type में fit हों, वरना बदलाव fail या data खो सकता है।
Column rename करना
ALTER TABLE students RENAME COLUMN name TO full_name;
RENAME COLUMN column का नाम बदलता है, उसका data और type रखते हुए। पुराना नाम name full_name बन जाता है। (पुराने MySQL पर, इसके बजाय type के साथ CHANGE इस्तेमाल कीजिए।)
Column drop करना
ALTER TABLE students DROP COLUMN email;
DROP COLUMN column और उसका सारा data स्थायी रूप से हटाता है, पर बाक़ी table रखता है। यह DROP TABLE से अलग है, जो पूरी table delete करता है।
एक साथ कई बदलाव
ALTER TABLE students
ADD phone VARCHAR(15),
MODIFY marks FLOAT,
DROP COLUMN email;
आप एक ALTER TABLE में कई operations commas से अलग करके जोड़ सकते हैं। यह कुशल है और संबंधित बदलाव साथ रखता है।
आम गलतियाँ
- छोटे type में modify करना। Type छोटा करना मौजूदा data truncate या ठुकरा सकता है।
- DROP COLUMN और DROP TABLE मिलाना। एक column हटाता है; दूसरा पूरी table।
- यह भूलना मौजूदा rows को NULL मिलता है। नए columns default बिना NULL से शुरू होते हैं।
- Rename को पुराना syntax। पुराने MySQL पर
RENAME COLUMNके बजायCHANGE old new typeइस्तेमाल कीजिए।
सारांश
- ALTER TABLE table की संरचना data खोए बिना बदलता है।
ADDcolumn जोड़ता है;MODIFYउसका type बदलता है।RENAME COLUMNrename करता है;DROP COLUMNcolumn हटाता है।- आप एक statement में कई बदलाव जोड़ सकते हैं।
- DROP COLUMN table रखता है; DROP TABLE सब delete करता है।
आगे, removal commands तुलना कीजिए DROP vs TRUNCATE vs DELETE में, या नियम जोड़िए NOT NULL, UNIQUE, CHECK, DEFAULT से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
MySQL में ALTER TABLE क्या करता है?
मौजूदा table में column कैसे जोड़ूँ?
ALTER TABLE tablename ADD columnname datatype; इस्तेमाल कीजिए। जैसे ALTER TABLE students ADD email VARCHAR(100); सारी rows में email column जोड़ता है, default रूप से NULL भरा।Column का data type कैसे बदलूँ?
ALTER TABLE tablename MODIFY columnname newtype; इस्तेमाल कीजिए। पक्का कीजिए मौजूदा data नए type में fit हो, वरना MySQL बदलाव ठुकरा या values truncate कर सकता है।Column कैसे delete करूँ?
ALTER TABLE tablename DROP COLUMN columnname; इस्तेमाल कीजिए। यह column और उसका सारा data स्थायी रूप से हटाता है, तो सावधान रहिए। बाक़ी table अछूती रहती है।