Ravindra BagaleCourses & study guides

11. MySQL Part 2: UPDATE, ALTER, DELETE, Keys, Constraints and Users

11.3 ALTER TABLE: Add, Modify, Rename and Drop Columns

Table banavlyavar requirement badalte – navin column, mothi size, naav badal. Tyasathi ALTER TABLE.

ALTER TABLE students ADD COLUMN phone VARCHAR(15);                    -- add at the end
ALTER TABLE students ADD COLUMN gender CHAR(1) AFTER name;            -- add after a column
ALTER TABLE students ADD COLUMN batch VARCHAR(20) FIRST;              -- add as first column
ALTER TABLE students MODIFY COLUMN phone VARCHAR(20) NOT NULL DEFAULT '';   -- change type/rules
ALTER TABLE students CHANGE COLUMN phone mobile VARCHAR(20);          -- rename + redefine
ALTER TABLE students RENAME COLUMN mobile TO contact_no;              -- rename only (MySQL 8 / MariaDB 10.5+)
ALTER TABLE students DROP COLUMN batch;                               -- remove column and its data
ALTER TABLE students ADD INDEX idx_city (city);                       -- add an index
ALTER TABLE courses RENAME TO course_list;                            -- rename table
RENAME TABLE course_list TO courses;                                  -- same, other syntax
DESCRIBE students;
Want to Use
New column ADD COLUMN
Change type, size, NULL, DEFAULT MODIFY COLUMN
Rename and change definition CHANGE COLUMN old new type
Rename only RENAME COLUMN old TO new
Remove column DROP COLUMN

Ravindra Bagale's Tip

If you shrink a column with MODIFY (VARCHAR(100) → VARCHAR(10)), long data gets cut off or you get an error – many students only find this out later. Before shrinking a column, check the longest value with SELECT MAX(LENGTH(name)) FROM students;. And take a backup before running ALTER on a live table!

Practice task

Add phone after email, change it to VARCHAR(20), rename it to mobile, then drop it. Run DESCRIBE after each step.