Bài 10: Thay đổi cấu trúc table với lệnh ALTER TABLE
Trong thực tế nhiều lúc bạn đã tạo xong một bảng rồi, bạn đã thêm dữ liệu hoành tráng nhưng lại gặp vấn đề là cấu trúc của table cần phải được ...
Trong thực tế nhiều lúc bạn đã tạo xong một bảng rồi, bạn đã thêm dữ liệu hoành tráng nhưng lại gặp vấn đề là cấu trúc của table cần phải được chỉnh sửa. Trong trường hợp này nếu ta DROP TABLE luôn thì sẽ mất hết Data. Giải pháp lúc này ta sẽ sử dụng lệnh ALTER TABLE kết hợp với một số từ khóa khác để chỉnh sửa cấu trúc của bảng.
Giả sử chúng ta có bảng tasks như sau:
Và tôi sử dụng lệnh CREATE TABLE để tạo bảng này như sau:
CREATE TABLE tasks( task_id INT(11) NOT NULL AUTO_INCREMENT, SUBJECT VARCHAR(45), start_date DATE, end_date DATE, description VARCHAR(200), CONSTRAINT pk_task PRIMARY KEY(task_id) );
# Sau đây là môt số vấn đề liên quan đến ALTER TABLE
Đổi cấu trúc column:
Giả sử tôi cần đổi cấu trúc field description sang kiểu varchar(250) ký tự và NOT NULL:
ALTER TABLE tasks CHANGE COLUMN description description VARCHAR(250) NOT NULL;<br />
Thêm column:
Giả sử tôi cần thêm một column tên là active kiểu TINYINT(1) và mặc định sẽ là 0.
ALTER TABLE tasks ADD COLUMN active TINYINT(1) DEFAULT 1
Đổi tên table (rename table)
Bây giờ ta đổi tên tasks thành nhiemvu:
ALTER TABLE tasks RENAME TO nhiem_vu;
# Lời kết
Riêng các vấn đề khác như sử dụng ALTER TABLE để tạo khóa chính, khóa ngoại chúng ta đã được học ở các bài trước rồi nên trong bài này sẽ không giải thích gì thêm. Nếu bạn muốn học MySQL với mục đích đáp ứng cho dự án nhỏ thì bấy nhiêu đây là quá đủ cho các vấn đề liên quan đên tạo bảng rồi vì trên thực tế ta hay sử dụng các chương trình quản lý khác như SQLYog hay thậm chí là PHPMYADMIN.
Nguồn: code24h.com