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

MODIFY ne column chota kela (VARCHAR(100) → VARCHAR(10)) tar motha data kapla jato kiwa error yeto – khup students la he nantar kalte. Column kami karnyapurvi SELECT MAX(LENGTH(name)) FROM students; ne sarvaat lamba value bagha. Aani live table var ALTER karnyapurvi backup!

Practice task

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