MariaDB - Lệnh thay thế
Lệnh ALTER cung cấp một cách để thay đổi cấu trúc của bảng hiện có, nghĩa là các sửa đổi như xóa hoặc thêm cột, sửa đổi chỉ mục, thay đổi kiểu dữ liệu hoặc thay đổi tên. ALTER cũng chờ áp dụng các thay đổi khi khóa siêu dữ liệu hoạt động.
Sử dụng ALTER để sửa đổi cột
ALTER được ghép nối với DROP sẽ xóa một cột hiện có. Tuy nhiên, nó không thành công nếu cột là cột duy nhất còn lại.
Xem lại ví dụ dưới đây -
mysql> ALTER TABLE products_tbl DROP version_num;
Sử dụng câu lệnh ALTER ... ADD để thêm cột -
mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);
Sử dụng các từ khóa ĐẦU TIÊN và SAU ĐÓ để chỉ định vị trí của cột -
ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST;
ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;
Lưu ý từ khóa FIRST và SAU chỉ áp dụng cho câu lệnh ALTER ... ADD. Hơn nữa, bạn phải thả một bảng và sau đó thêm nó để định vị lại nó.
Thay đổi định nghĩa hoặc tên cột bằng cách sử dụng mệnh đề MODIFY hoặc CHANGE trong câu lệnh ALTER. Các mệnh đề có tác dụng tương tự, nhưng sử dụng cú pháp về cơ bản khác nhau.
Xem lại ví dụ CHANGE được đưa ra bên dưới -
mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);
Trong một câu lệnh sử dụng CHANGE, hãy chỉ định cột ban đầu và sau đó là cột mới sẽ thay thế nó. Xem lại ví dụ SỬA ĐỔI bên dưới -
mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);
Lệnh ALTER cũng cho phép thay đổi các giá trị mặc định. Xem lại một ví dụ -
mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;
Bạn cũng có thể sử dụng nó để loại bỏ các ràng buộc mặc định bằng cách ghép nối nó với một mệnh đề DROP -
mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;
Sử dụng ALTER để sửa đổi bảng
Thay đổi loại bảng với mệnh đề TYPE -
mysql> ALTER TABLE products_tbl TYPE = INNODB;
Đổi tên bảng bằng từ khóa RENAME -
mysql> ALTER TABLE products_tbl RENAME TO products2016_tbl;