MySQL 使用 ALTER TABLE ... ADD 新增欄位,並支援 COMMENT 為欄位添加說明註解,便於資料字典維護與團隊協作。
ALTER TABLE `tableName`
ADD `newColumn` VARCHAR(8) COMMENT '新增欄位的業務含義說明';
| 要素 | 說明 | 注意事項 |
|---|---|---|
ADD | 新增欄位關鍵字 | 可一次 ADD 多欄位,逗號分隔 |
newColumn | 新欄位名稱 | 建議小寫+下劃線,避免保留字 |
VARCHAR(8) | 資料類型與長度 | 依業務選型,參考資料類型指南 |
COMMENT '...' | 欄位註解 | 必須用單引號包裹,雙引號會報錯 |
| 位置控制 | FIRST 或 AFTER col_name | 不指定預設追加至末尾 |
-- 在 user 表的 email 之後新增 phone 欄位,帶註解與非空預設值
ALTER TABLE `user`
ADD `phone` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '用戶手機號'
AFTER `email`;
-- 一次新增多個欄位
ALTER TABLE `order`
ADD `pay_time` DATETIME COMMENT '支付時間',
ADD `refund_status` TINYINT NOT NULL DEFAULT 0 COMMENT '退款狀態 0無 1申請中 2已退款',
ADD `remark` VARCHAR(500) COMMENT '備註';
-- 方法一:SHOW FULL COLUMNS
SHOW FULL COLUMNS FROM `user`;
-- 方法二:查詢 information_schema
SELECT COLUMN_NAME, COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME = 'user';
-- 必須重新聲明完整欄位定義 (類型、屬性、註解)
ALTER TABLE `user`
MODIFY `phone` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '用戶手機號(已驗證)';
'訂單狀態 0待付款 1已付款 2已發貨 3已完成 4已取消'。INFORMATION_SCHEMA.COLUMNS 產出 Markdown/Excel 資料字典。
良好的欄位註解習慣,能大幅降低新人上手成本、減少溝通誤解、支援自動化文檔產出,是資料庫治理的基礎細節。