CREATE TABLE testalter_tbl (i INT, c CHAR(1));
-- 刪除欄位 ALTER TABLE testalter_tbl DROP i; -- 新增欄位(預設加在最後) ALTER TABLE testalter_tbl ADD i INT; -- 指定位置:FIRST 或 AFTER col_name ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl ADD i INT AFTER c;
調整位置需先 DROP 再 ADD。
MODIFY:僅變更型別/屬性。ALTER TABLE testalter_tbl MODIFY c CHAR(10);CHANGE:可同時變更名稱與型別。ALTER TABLE testalter_tbl CHANGE i j BIGINT;-- 設定 NOT NULL 且預設值 100 ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100; -- 僅修改預設值 ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; -- 移除預設值 ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
ALTER TABLE testalter_tbl ENGINE = MYISAM; SHOW TABLE STATUS LIKE 'testalter_tbl'\G
ALTER TABLE testalter_tbl RENAME TO alter_tbl;