首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 現有資料表新增欄位(ALTER TABLE ADD COLUMN)完整指南

     編輯:MySQL 綜合教學

使用 ALTER TABLE 為既有 MySQL 資料表動態增加欄位

在專案開發迭代過程中,資料庫結構調整是常態。MySQL 提供 ALTER TABLE 語句支援在不重建資料表的前提下新增欄位,本文說明標準語法與關鍵注意事項。

標準新增欄位語法

ALTER TABLE `資料庫名`.`資料表名` 
ADD COLUMN `欄位名` 資料型別 [預設值] [AFTER `既有欄位名`];

實戰範例解析

ALTER TABLE `mydb`.`orders` 
ADD COLUMN `PROCID` VARCHAR(6) DEFAULT '' AFTER `PPIDChanged`;
  • 反引號(`):MySQL 中資料庫、資料表、欄位名稱若包含保留字或特殊字元,必須以反引號包裹。鍵盤位置在 ESC 鍵下方(~ 鍵未按 Shift 時)。
  • AFTER `PPIDChanged`:指定新欄位插入位置,若省略則預設附加至表尾。
  • DEFAULT '':設定預設值為空字串,避免既有資料行出現 NULL 導致應用層邏輯錯誤。

常見資料型別選擇建議

型別適用場景
VARCHAR(n)可變長度字串,如代碼、名稱
INT / BIGINT整數型 ID、計數器、外鍵
DECIMAL(p,s)金額、精確數值運算
DATETIME / TIMESTAMP時間戳記,TIMESTAMP 具時區感知
JSON半結構化資料(MySQL 5.7+)

執行前檢查清單

  1. 確認資料表無長時間運行的交易或鎖定。
  2. 大資料表(超過百萬列)新增欄位可能觸發表鎖定,建議低峰期操作或使用 pt-online-schema-change 等線上變更工具。
  3. 新增欄位後同步更新應用程式程式碼、ORM 映射、備份腳本與文件。

驗證變更結果

DESC `資料庫名`.`資料表名`; 
-- 或 
SHOW COLUMNS FROM `資料庫名`.`資料表名` LIKE 'PROCID';

輸出應包含新欄位定義,確認型別、預設值、位置皆符合預期。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved