06/04/2021, 14:50

Lệnh Alter Table trong MySQL: Thay nhất đổi cấu trúc table - MySQL căn bản

Trong bài này chúng ta sẽ tìm hiểu lệnh Alter Table trong MySQL, đây là lệnh thường dùng để thay đổi cấu trúc của một 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 ...

Trong bài này chúng ta sẽ tìm hiểu lệnh Alter Table trong MySQL, đây là lệnh thường dùng để thay đổi cấu trúc của một 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.

1. Đặt vấn đề với Alter Table

Giả sử chúng ta có bảng tasks như sau:

Tasks Table png

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é.

2. Môt số các dùng 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;

3. 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.

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0