首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL ALTER TABLE 修改資料表結構完整語法速查(加欄、改名、刪欄、改型別)

     編輯:MySQL 資料庫相關知識

ALTER TABLE 是 DDL 核心指令,涵蓋資料表重命名、欄位增刪改、型別變更、約束管理等所有結構變更操作。本文彙整 MySQL、SQL Server、Oracle 三大資料庫的差異語法,方便跨平台維護。

MySQL 核心語法

操作語法範例
檢視結構DESC table_name;
重命名資料表ALTER TABLE t_book RENAME TO bbb;
新增欄位ALTER TABLE table_name ADD COLUMN col_name VARCHAR(30);
刪除欄位ALTER TABLE table_name DROP COLUMN col_name;
修改欄位名稱ALTER TABLE bbb CHANGE old_name new_name INT;
修改欄位型別/屬性ALTER TABLE t_book MODIFY name VARCHAR(22);

跨平台欄位改名語法差異

資料庫語法
MySQLALTER TABLE t CHANGE old new INT;
SQL ServerEXEC sp_rename 't.old', 'new', 'COLUMN';
OracleALTER TABLE t RENAME COLUMN old TO new;

資料異動(DML)補充

-- 修改單筆/多筆
UPDATE pet SET sex='f' WHERE name='Whistler';

-- 刪除單筆
DELETE FROM pet WHERE name='Whistler';

-- 清空整張表(謹慎!無 WHERE 會全刪)
DELETE FROM pet;
-- 或更快的 TRUNCATE TABLE pet;(不可 ROLLBACK)

避坑提醒

  • MODIFY 不能改欄位名,CHANGE 需完整重寫型別定義。
  • 大表 ALTER TABLE 會鎖表,建議使用 pt-online-schema-change 或 gh-ost 線上變更。
  • 外鍵欄位變更前必須先 DROP FOREIGN KEY。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved