我试图重命名一个列在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 datatype;

如果表名是Student,列名是name。 然后,如果您想将Name更改为First_Name

ALTER TABLE Student CHANGE Name First_Name varchar(20);

其他回答

服务器版本:5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

你可以使用以下代码:

ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;

在这里发布它,它有助于帮助其他人忽略它,但当尝试使用更改列和重命名列函数时,它会抛出一个错误。 所以我想看看生成了什么语句,当我们继续,重命名列进入表属性。下面是生成的命令。

EXEC DB.sys.sp_rename N'db.tablename.TrackingIDChargeDescription1' , N'ChargeDescription1', 'COLUMN';

我在表中使用和重命名了一堆列。

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

修改列的数据类型:

修改数据类型:

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

“RENAME”用于Oracle数据库。

使用以下查询:

ALTER TABLE tableName CHANGE oldcolname newcolname datatype(length);

RENAME函数用于Oracle数据库。

ALTER TABLE tableName RENAME COLUMN oldcolname TO newcolname datatype(length);

@lad2025在下面提到了,但我觉得把他说的话补充一下会很好。谢谢@lad2025!

你可以使用MySQL 8.0中的RENAME COLUMN来重命名任何你需要重命名的列。

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

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