Lệnh ALTER trong MySQL thực sự hữu ích khi bạn muốn thay đổi tên cho một bảng, cho bất kỳ trường nào hoặc nếu bạn muốn thêm hoặc xóa một cột đang tồn tại trong một bảng
Đầu tiên, hãy tạo một bảng hocphik61
//Lua chon co so du lieu USE sinhvien; //Tao bang hocphik61 CREATE TABLE hocphik61 [ ten VARCHAR[40], hocphi INT ]; //Hien thi tat ca cac cot trong bang hocphik61 SHOW COLUMNS FROM hocphik61; //ket qua la: +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | ten | varchar[40] | YES | | NULL | | | hocphi | int[11] | YES | | NULL | | +---------+-------------+------+-----+---------+-------+
Xóa, thêm hoặc tái định vị một cột trong MySQL
Giả sử bạn muốn xóa một cột đang tồn tại ở mười từ bảng MySQL trên, thì bạn sử dụng mệnh đề DROP cùng với lệnh ALTER như sau
ALTER TABLE hocphik61 DROP ten;
Lệnh DROP sẽ không hoạt động nếu cột chỉ nằm ở bên trái của bảng
Để thêm một cột, sử dụng ADD và xác định cột. Lệnh sau phục hồi cột mười cho bảng hocphik61
ALTER TABLE hocphik61 ADD ten VARCHAR[40];
Sau khi thông báo lệnh này, bảng hocphik61 sẽ chứa cùng hai cột như nó đã chứa khi bạn lần đầu tạo bảng đó, nhưng sẽ không có cùng cấu trúc. Đó là bởi vì các cột mới được thêm vào phần cuối của bảng theo mặc định. Vì thế, ngay cả khi ban đầu cột mười là cột đầu tiên trong bảng hocphik61, thì bây giờ nó là cột cuối cùng
SHOW COLUMNS FROM hocphik61; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | hocphi | int[11] | YES | | NULL | | | ten | varchar[40] | YES | | NULL | | +---------+-------------+------+-----+---------+-------+
Để chỉ rằng bạn muốn một cột tại một vị trí cụ thể có thể bên trong một bảng, hoặc sử dụng FIRST để làm cho nó trở thành cột đầu tiên hoặc SAU ten_cot để chỉ rằng cột mới nên được đặt sau cột ten_cot. Bạn thử lệnh ALTER TABLE sau, sử dụng SHOW COLUMNS sau mỗi lệnh để xem hiệu quả của mỗi lệnh đó
ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD ten VARCHAR[40] FIRST; //them cot ten thanh cot dau tien ALTER TABLE hocphik61 DROP ten; ALTER TABLE hocphik61 ADD ten VARCHAR[40] AFTER hocphi; //them cot ten sau cot hocphi
FIRST và SAU specifier chỉ làm công việc với mệnh đề THÊM. Điều này có nghĩa là nếu bạn muốn tái định vị một cột đang tồn tại bên trong một bảng, trước tiên bạn phải DROP nó và sau đó THÊM nó vào vị trí mới
Thay đổi định nghĩa hoặc cột tên trong MySQL
Để thay đổi một định nghĩa cột, hãy sử dụng mệnh đề SỬA ĐỔI hoặc THAY ĐỔI cùng với lệnh ALTER. Ví dụ, để thay đổi cột mười từ VARCHAR[40] thành VARCHAR[20], bạn sử dụng
ALTER TABLE hocphik61 MODIFY ten VARCHAR[20];
Với CHANGE, cú pháp có hơi khác biệt. Sau từ khóa CHANGE, bạn xác định cột bạn muốn thay đổi, sau đó xác định định nghĩa mới, bao gồm tên mới của nó. You see ví dụ
ALTER TABLE hocphik61 CHANGE ten hoten VARCHAR[60];
Nếu bây giờ bạn sử dụng CHANGE để chuyển đổi hoten từ VARCHAR[60] về VARCHAR[40] mà không thay đổi tên cột, lệnh sẽ là
ALTER TABLE hocphik61 CHANGE hoten hoten VARCHAR[40];
Tác động của ALTER TABLE trên các giá trị NULL và DEFAULT
Khi bạn SỬA ĐỔI hoặc THAY ĐỔI một cột, bạn cũng có thể xác định cột đó có hay không có thể chứa các giá trị NULL và giá trị DEFAULT của nó là gì. Thực tế, nếu bạn không làm điều này, MySQL sẽ tự động gán giá trị cho các thuộc tính này
Trong ví dụ sau, cột NOT NULL sẽ có giá trị mặc định là 4000000
________số 8_______Nếu bạn không sử dụng lệnh trên, thì MySQL sẽ điền giá trị NULL vào tất cả các cột
Change the value DEFAULT of a column in MySQL
Bạn có thể thay đổi giá trị mặc định cho bất kỳ cột nào bằng cách sử dụng lệnh ALTER. You try to example after
ALTER TABLE hocphik61 ALTER hocphi SET DEFAULT 3000000; //hien thi cac cot SHOW COLUMNS FROM hocphik61; //ket qua la: +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | ten | varchar[40] | YES | | NULL | | | hocphi | int[11] | YES | | 3000000 | | +---------+-------------+------+-----+---------+-------+
Bạn có thể xóa ràng buộc MẶC ĐỊNH khỏi bất kỳ cột nào do sử dụng mệnh đề DROP cùng với lệnh ALTER
ALTER TABLE hocphik61 DROP ten;0
Change a table type in MySQL
You can change a table type by using TYPE same with command ALTER. You see example after to change hocphik61 to type MyISAM
Để tìm được kiểu bảng hiện tại, hãy sử dụng lệnh SHOW TABLE STATUS
ALTER TABLE hocphik61 DROP ten;1
Để tìm được kiểu bảng hiện tại, hãy sử dụng lệnh SHOW TABLE STATUS
ALTER TABLE hocphik61 DROP ten;2
Kết quả giống như sau
Thay tên cho bảng trong MySQL
Để thay tên cho một bảng, sử dụng tùy chọn RENAME của lệnh ALTER TABLE. Bạn xem ví dụ sau để đổi tên hocphik61 thành hocphik62
ALTER TABLE hocphik61 DROP ten;3
Bạn có thể sử dụng lệnh ALTER để tạo và xóa INDEX trên tệp MySQL. Chúng ta sẽ xem tính năng này trong chương trình sau
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng. miễn phí. Tải ngay ứng dụng trên Android và iOS
Theo dõi fanpage của nhóm https. //www. Facebook. com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https. //www. Facebook. com/tuyen. vietjack to continue theo dõi hàng loạt bài viết mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile. mới nhất của chúng tôi