我试图重命名一个列在MySQL社区服务器5.5.27使用这个SQL表达式:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

我也试过

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

但它说:

错误:请查看MySQL服务器版本对应的手册


当前回答

ALTER TABLE `table_name` CHANGE `$old_column_name` `new_column_name` VARCHAR(40)

这对我很有用

其他回答

服务器版本:5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

来自MySQL 5.7参考手册。

语法:

修改表1的数据类型

例如:对于有COLUMN customer_name, customer_street, customercity的客户表。

我们想把customercity改为customer_city:

alter table customer change customercity customer_city VARCHAR(225);

在MySQL中更改名称必须使用“ALTER”表命令后跟“CHANGE”。下面是查询。

修改列的数据类型:

修改数据类型:

PS-您可以在查询中添加“COLUMN”字或忽略。效果是一样的。

“RENAME”用于Oracle数据库。

从MySQL 8.0你可以使用

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE语法: 重命名列: 可以更改列名,但不能更改其定义。 在不更改列定义的情况下重命名列比CHANGE更方便。

DBFiddle演示

在mysql中,你的查询应该是这样的

ALTER TABLE table_name change column_1 column_2 Data_Type;

您已经在Oracle中编写了查询。