重命名MySQL中的列

我试图重命名一个列在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服务器版本对应的手册

605724 次浏览

使用以下查询:

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;
< p > ALTER TABLE语法: 重命名列:< / >强

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

服务器版本:5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

MySQL 5.7参考Manual . sh

从MySQL 8.0你可以使用

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE语法:

重命名列:

  • 可以更改列名,但不能更改其定义。

  • 比CHANGE更方便地重命名列而不改变其定义。

DBFiddle Demo

你可以使用以下代码:

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

重命名mysql中的列名

alter table categories change  type  category_type varchar(255);

https://dev.mysql.com/doc/refman/8.0/en/alter-table.html

MySQL 8

alter table creditReportXml_temp change column applicationID applicantID int(11);

mysql 5

alter table *table_name* change column *old_column_name* *new_column_name* datatype();

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

ALTER TABLE table_name change column_1 column_2 Data_Type;

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

ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

如果表名是学生,列名是的名字。 然后,如果你想将的名字更改为First_Name

ALTER TABLE Student CHANGE Name First_Name varchar(20);

用ALTER TABLE命令重命名MySQL列

ALTER TABLE是一个重要的命令,用于改变MySQL表的结构。您可以使用它来添加或删除列,更改列中的数据类型,甚至重命名整个数据库。我们最关心的函数是如何使用ALTER TABLE重命名列。

子句为我们提供了重命名过程的额外控制。RENAME COLUMN和CHANGE子句都允许修改现有列的名称。不同之处在于CHANGE子句还可以用于更改列的数据类型。这些命令很简单,您可以使用最适合您需求的子句。

如何使用RENAME COLUMN子句(MySQL 8.0)

重命名列的最简单方法是使用带有rename column子句的ALTER TABLE命令。该子句从MySQL 8.0版本开始使用。

让我们来说明它的简单语法。要更改列名,在MySQL shell中输入以下语句:

ALTER TABLE your_table_name RENAME COLUMN original_column_name TO new_column_name;

将your_table_name、original_column_name和new_column_name与您的表名和列名交换。请记住,不能将列重命名为表中已经存在的名称。

请注意:对于ALTER TABLE RENAME COLUMN命令,COLUMN这个词是必须的。ALTER TABLE RENAME是重命名整个表的现有语法。

RENAME COLUMN子句只能用于重命名列。如果需要其他函数,例如更改数据定义或列的位置,则需要使用CHANGE子句。

用CHANGE子句重命名MySQL列

CHANGE子句为重命名过程提供了重要的补充。可以使用同一命令重命名列并更改该列的数据类型。

在MySQL客户端shell中输入以下命令来更改列的名称及其定义:

ALTER TABLE your_table_name CHANGE original_column_name new_col_name data_type;

data_type元素是强制的,即使您希望保留现有的数据类型。

使用其他选项进一步操作表列。CHANGE还允许您使用可选的FIRST | AFTER column_name子句将列放在表中的不同位置。例如:

ALTER TABLE your_table_name CHANGE original_column_name new_col_name y_data_type AFTER column_x;

您已经成功地更改了列的名称,将数据类型更改为y_data_type,并将该列定位在column_x之后。

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

ALTER TABLE tablename CHANGE COLUMN oldcolname newcolname datatype;

ALTER TABLE tablename CHANGE oldcolname newcolname datatype;

PS-你可以添加"COLUMN"Word或在查询中忽略。效果是一样的。

“RENAME"用于Oracle数据库。

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

这对我很有用

如果你使用gui SQL SMS

你可以用db ->表→表→列→要重命名的列

右键单击并重命名

ALTER TABLE table_name CHANGE old_column_name new_column_name columnDataType;

对于MySQL <= 8

ALTER TABLE table_names CHANGE `old_column_name` `new_column_name` varchar(50);

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

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

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

当我有一个带括号的列时,上面没有一个工作。

然后我试了试,魔法起作用了。因此,如果您在列中错误地有一个特殊字符,并且您想要重命名它,请使用作为现有列的名称。例如:

将列column(old)改为new_column