MySQL 字段改名语句

Alexer 发布于 阅读:17 速查

改字段名用 ALTER TABLE 的 CHANGE COLUMN:旧字段名放前面,新名字放后面,类型跟着写上。

-- 把 users 表的 uname 改名为 username,类型保持原样
ALTER TABLE users CHANGE COLUMN uname username VARCHAR(50) NOT NULL DEFAULT '';

类型必须和原来一致,写错了会顺带把字段类型也改掉。MySQL 8.0 起可以只改名、不写类型:

-- 只改名字,不动类型和约束
ALTER TABLE users RENAME COLUMN uname TO username;

一个表要改好几个字段名,就在一条 ALTER TABLE 里用逗号把多个 CHANGE COLUMN 串起来,一次改完。

-- 一条语句改两个字段名
ALTER TABLE users
  CHANGE COLUMN uname username VARCHAR(50) NOT NULL,
  CHANGE COLUMN uage age INT UNSIGNED NOT NULL DEFAULT 0;

改名只动表结构,表里的数据原样保留。旧字段名写错会直接报 Unknown column 'xxx',先 DESC 表名 看一眼字段名再写。

语法基础 MySQL 数据库基础