在MySQL日常使用中,随着业务需求变化,我们经常需要修改已有数据表的名称、调整字段名称或者增加新的列。这些操作都可以通过ALTER TABLE语句来完成,而且不会影响表中已有的数据。下面介绍几种最常见的用法。

一、修改表名
使用RENAME TO子句可以修改表的名称,语法如下:
-- 将旧表名 user_info 修改为 member_info ALTER TABLE user_info RENAME TO member_info;
也可以使用RENAME TABLE命令一次性重命名多个表:
RENAME TABLE user_info TO member_info, order_tbl TO order_table;
二、修改列名
修改列名需要用到CHANGE关键字,同时必须指定新列的数据类型。例如将user_name列改名为username:
-- 修改列名并指明类型,VARCHAR(50)为新列的类型 ALTER TABLE member_info CHANGE user_name username VARCHAR(50);
如果只改属性不改名,可以用MODIFY:
-- 将 username 的类型改为 VARCHAR(100),列名不变 ALTER TABLE member_info MODIFY username VARCHAR(100);
三、增加新列
使用ADD关键字可以向表中增加一列,可指定位置。例如在id列后增加age列:
-- 在 id 列之后增加 age 列,类型为 INT ALTER TABLE member_info ADD age INT AFTER id;
若要在表头添加列,可使用FIRST:
-- 在表的最前面增加 created_at 列 ALTER TABLE member_info ADD created_at DATETIME FIRST;
四、综合修改表结构示例
下面通过一个完整示例展示同时修改表名、增加列与改列名的操作:
-- 1. 重命名表 ALTER TABLE user_info RENAME TO member_info; -- 2. 增加手机号列 ALTER TABLE member_info ADD phone VARCHAR(20) AFTER username; -- 3. 修改列名 email 为 mail ALTER TABLE member_info CHANGE email mail VARCHAR(100);
五、注意事项
- 大表执行ALTER可能锁表,建议在低峰期操作或使用在线DDL工具。
- CHANGE修改列名时必须写全数据类型,否则会报错。
- 修改前最好备份表结构,避免误操作影响业务。
掌握上述ALTER TABLE用法,就能轻松应对MySQL中修改表名、列名以及调整表结构的需求。
MySQLALTER_tablemodify_column修改时间:2026-07-28 04:21:16