MySQL में ALTER TABLE ... CHANGE COLUMN ... FIRST|AFTER का उपयोग करके कॉलम का क्रम बदलें।
सिंटैक्स
-- पहले स्थान पर ले जाने के लिए ALTER TABLE yourTableName CHANGE COLUMN columnName columnName dataType FIRST; -- किसी कॉलम के बाद ले जाने के लिए ALTER TABLE yourTableName CHANGE COLUMN columnName columnName dataType AFTER otherColumnName;
उदाहरण
मौजूदा टेबल संरचना देखना
mysql> show create table AddColumn;
CREATE TABLE `addcolumn` ( `StudentId` varchar(50) DEFAULT NULL, `StudentName` varchar(300) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
StudentName को पहले स्थान पर ले जाना
mysql> alter table AddColumn change StudentName StudentName varchar(300) first; Query OK, 0 rows affected (1.28 sec)
अपडेट की गई संरचना देखना
mysql> desc AddColumn;
+-------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+-------+ | StudentName | varchar(300) | YES | | NULL | | | StudentId | varchar(50) | YES | | NULL | | +-------------+--------------+------+-----+---------+-------+
महत्वपूर्ण बिंदु
CHANGE COLUMNके लिए कॉलम नाम दो बार लिखना पड़ता है (पुराना नाम, नया नाम)- डेटा प्रकार फिर से निर्दिष्ट करना आवश्यक है
- यह ऑपरेशन टेबल को रीबिल्ड करता है — बड़े टेबल पर धीमा हो सकता है
- केवल तार्किक क्रम बदलता है, भौतिक संग्रहण क्रम नहीं
अन्य उपयोगी ALTER TABLE ऑपरेशन
-- कॉलम नाम बदलना ALTER TABLE table_name CHANGE old_name new_name VARCHAR(100); -- कॉलम प्रकार बदलना ALTER TABLE table_name MODIFY column_name NEW_DATA_TYPE; -- कॉलम हटाना ALTER TABLE table_name DROP COLUMN column_name; -- कॉलम जोड़ना (अंत में) ALTER TABLE table_name ADD COLUMN new_col INT;
वर्तमान कॉलम क्रम देखना
DESC table_name; -- या SHOW COLUMNS FROM table_name; -- या SELECT COLUMN_NAME, ORDINAL_POSITION FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'db_name' AND TABLE_NAME = 'table_name' ORDER BY ORDINAL_POSITION;