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

MySQL 新增欄位 ALTER TABLE ADD 單行指令速查

     編輯:MySQL 綜合教學

標準語法

ALTER TABLE `table_name`
ADD `column_name` column_definition
    [FIRST | AFTER `existing_column`];

常用範例

需求SQL 指令
末尾新增 VARCHAR 欄位附註釋ALTER TABLE `user` ADD `nickname` VARCHAR(32) COMMENT '暱稱';
指定位置新增 (在 email 之後)ALTER TABLE `user` ADD `phone` VARCHAR(20) AFTER `email`;
新增 NOT NULL 預設值欄位ALTER TABLE `user` ADD `status` TINYINT NOT NULL DEFAULT 1;
新增 TIMESTAMP 自動更新ALTER TABLE `user` ADD `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
新增外鍵欄位並建立關聯ALTER TABLE `order` ADD `user_id` INT UNSIGNED NOT NULL, ADD CONSTRAINT `fk_order_user` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`);

注意事項

  • COMMENT 字串需用單引號包裹,同 SQL 註釋 `--` 或 `#` 不同。
  • 大表新增 NOT NULL 無預設值會報錯,必須給 DEFAULT 或先允許 NULL 更新完再改。
  • MySQL 8.0+ 支援 INSTANT ADD COLUMN (僅限末尾、無預設值或預設常數),無鎖、秒級完成。
  • 外鍵建立需父表主鍵型別完全一致 (含 UNSIGNED)。

驗證欄位已新增

SHOW COLUMNS FROM `user` LIKE 'nickname';
-- 或
DESC `user`;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved