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 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)
);
Bây giờ ta sử dụng bảng này để học các lệnh về ALTER TABLE để đổi cấu trúc table nhé.

# 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 />
Lưu ý là trong này field description ta phải gõ 2 lần nhé.

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.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Facebook để được hỗ trợ nhanh nhất.