本文彙整 MySQL 修改表欄位的高頻實戰指令,涵蓋主鍵建立、欄位增刪改、索引管理與表重命名,適合 DBA 與開發人員快速查閱。
ALTER TABLE tabelname ADD new_field_id INT(5) UNSIGNED DEFAULT 0 NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (new_field_id);
ALTER TABLE t2 ADD d TIMESTAMP;
ALTER TABLE infos ADD ex TINYINT NOT NULL DEFAULT '0';
ALTER TABLE t2 DROP COLUMN c;
ALTER TABLE t1 CHANGE a b INTEGER;
ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;
ALTER TABLE infos CHANGE list list TINYINT NOT NULL DEFAULT '0';
ALTER TABLE t1 RENAME t2;
ALTER TABLE tablename CHANGE depno depno INT(5) NOT NULL;
ALTER TABLE tablename ADD INDEX 索引名 (欄位名1[, 欄位名2 ...]);
ALTER TABLE tablename ADD INDEX emp_name (name);
ALTER TABLE tablename ADD PRIMARY KEY (id);
ALTER TABLE tablename ADD UNIQUE emp_name2 (cardnumber);
ALTER TABLE tablename DROP INDEX emp_name;
ALTER TABLE table_name ADD field_name field_type;ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;ALTER TABLE table_name DROP field_name;mysqldump 或檔案層級複製)。SHOW PROCESSLIST 避免長時間鎖表。SHOW INDEX FROM table_name 驗證。熟練掌握上述指令,可大幅提升資料庫結構調整效率與安全性。