Sử dụng CHANGE với lệnh ALTER TABLE.
Tạo bảng demo
mysql> create table DemoTable (
-> StudentName varchar(100),
-> Age int
-> );
Query OK, 0 rows affected (0.84 sec)
Kiểm tra cấu trúc bảng ban đầu
mysql> desc DemoTable;
Kết quả
+----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+-------+ | StudentName | varchar(100) | YES | | NULL | | | Age | int(11) | YES | | NULL | | +----------------+--------------+------+-----+---------+-------+ 2 rows in set (0.25 sec)
Thực hiện ALTER TABLE - Đổi tên cột và thêm cột mới
mysql> alter table DemoTable
-> add column Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> add column CountryName varchar(100) after Age,
-> change column StudentName FirstName varchar(200);
Query OK, 0 rows affected (1.51 sec)
Records: 0 Duplicates: 0 Warnings: 0
Kiểm tra cấu trúc bảng sau khi thay đổi
mysql> desc DemoTable;
Kết quả - Cột StudentName đã đổi thành FirstName
+-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | FirstName | varchar(200) | YES | | NULL | | | Age | int(11) | YES | | NULL | | | CountryName | varchar(100) | YES | | NULL | | | Id | int(11) | NO | PRI | NULL | auto_increment | +-------------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
Cú pháp CHANGE COLUMN:
ALTER TABLE ten_bang CHANGE COLUMN ten_cu ten_moi kieu_du_lieu [rang_buoc];
Lưu ý: Phải chỉ định lại kiểu dữ liệu (varchar(200)) ngay cả khi không muốn thay đổi kiểu. Có thể dùng MODIFY COLUMN nếu chỉ thay đổi kiểu/ràng buộc mà không đổi tên.