彙整 MySQL ALTER TABLE 常用操作:欄位增刪改、表重命名、主鍵與索引管理,語法簡潔實用。
-- 1. 刪除欄位 ALTER TABLE tbl_name DROP COLUMN col_name; -- 2. 新增欄位 ALTER TABLE tbl_name ADD COLUMN col_name INT NOT NULL COMMENT '註釋'; -- 3. 修改欄位型別/屬性 (欄位名不變) ALTER TABLE tbl_name CHANGE col_name col_name BIGINT NOT NULL COMMENT '註釋'; -- 4. 重命名欄位 (同時可修改型別) ALTER TABLE tbl_name CHANGE old_col new_col BIGINT NOT NULL COMMENT '註釋';
ALTER TABLE old_tbl_name RENAME new_tbl_name;
-- 6. 刪除主鍵 ALTER TABLE tbl_name DROP PRIMARY KEY; -- 7. 新增複合主鍵 ALTER TABLE tbl_name ADD CONSTRAINT pk_name PRIMARY KEY (col1, col2);
-- 8. 新增普通索引 ALTER TABLE tbl_name ADD INDEX idx_name (col_name); -- 9. 新增唯一索引 ALTER TABLE tbl_name ADD UNIQUE uk_name (col_name); -- 10. 刪除索引 ALTER TABLE tbl_name DROP INDEX idx_name; -- 或 DROP INDEX idx_name ON tbl_name;
CHANGE 需指定完整欄位定義,即使不改型別也要寫上pt-online-schema-change 避免鎖表