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

MySQL 字段重命名:ALTER TABLE CHANGE 修改字段名與類型同步操作

     編輯:MySQL 綜合教學

語法


ALTER TABLE tbl CHANGE old_col_name new_col_name data_type [constraints];

關鍵點:CHANGE 必須指定**新字段名**和**完整類型定義**,即使類型不變也要寫上。

實戰演示

修改前結構


mysql> DESCRIBE test;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id       | int(11)     | YES  |     | NULL    |       |
| t_name     | varchar(20) | YES  |     | NULL    |       |
| t_password | char(32)    | YES  |     | NULL    |       |
| t_birth    | date        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

執行重命名


mysql> ALTER TABLE test CHANGE t_name t_name_new VARCHAR(20);
Query OK, 0 rows affected (0.11 sec)

修改後驗證


mysql> DESCRIBE test;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| t_id       | int(11)     | YES  |     | NULL    |       |
| t_name_new | varchar(20) | YES  |     | NULL    |       |
| t_password | char(32)    | YES  |     | NULL    |       |
| t_birth    | date        | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+

對比:CHANGE vs MODIFY

命令用途是否可改名語法
CHANGE重命名 + 可選修改類型/約束是CHANGE old new type
MODIFY僅修改類型/約束,不可改名否MODIFY col type

最佳實踐

  • 重命名務必用 CHANGE,並完整寫出類型(長度、字符集、校對規則)
  • 同步更新應用代碼中的字段名,避免 Unknown column 錯誤
  • 大表重命名同樣會重建表,評估鎖表影響
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved