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