重命名MySQL中的列

时间:2015-05-17 18:59:14

标签: mysql sql

我正在尝试使用此SQL表达式重命名MySQL社区服务器5.5.27中的列:

ItemCheckEventArgs

我也试过

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

但它说:

  

错误:检查与MySQL服务器版本对应的手册

13 个答案:

答案 0 :(得分:249)

使用以下查询:

Available in OS X v10.0 and later.

ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length); 函数用于Oracle数据库。

RENAME

注意用于MySQL的反引号,而双引号用于Oracle的语法。另请注意,MySQL 8.0可能不接受反引号。在这种情况下,执行不带反引号的查询,它可能会起作用。

@lad2025在下面提到它,但我认为添加他说的话会很好。谢谢@ lad2025!

您可以使用MySQL 8.0中的ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length); 重命名您需要重命名的任何列。

RENAME COLUMN
  

ALTER TABLE Syntax

     

RENAME COLUMN:

     
      
  • 可以更改列名但不能更改其名称。

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

  •   

答案 1 :(得分:45)

在服务器版本中:5.6.34 MySQL社区服务器

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

答案 2 :(得分:16)

来自 MySQL 5.7参考Manual

语法

  

ALTER TABLE t1 CHANG a a b DATATYPE;

例如:对于客户包含COLUMN customer_name 的表, customer_street ,< strong> customercity

我们希望将 customercity 更改为 customer_city

alter table customer change customercity customer_city VARCHAR(225);

答案 3 :(得分:9)

从MySQL 8.0开始,您可以使用

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
  

ALTER TABLE Syntax

     

RENAME COLUMN:

     
      
  • 可以更改列名但不能更改其名称。

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

  •   

<强> DBFiddle Demo

答案 4 :(得分:5)

您可以使用以下代码:

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

答案 5 :(得分:3)

在mysql中,您的查询应类似于

ALTER TABLE table_name change column_1 column_2 Data_Type;

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

答案 6 :(得分:3)

语法:ALTER TABLE table_name更改old_column_name new_column_name数据类型;

如果表名是学生,并且列名是名称。 然后,如果您想将 Name 更改为 First_Name

ALTER TABLE Student CHANGE Name First_Name varchar(20);

答案 7 :(得分:1)

对于mysql版本5

df['recommendations'] = df.apply(lambda row : get_recommendations(row['names']), axis=1)

答案 8 :(得分:0)

在mysql中重命名列名

alter table categories change  type  category_type varchar(255);

答案 9 :(得分:0)

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

对于MySQL 8

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

答案 10 :(得分:0)

使用 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 之后。

答案 11 :(得分:0)

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

ALTER TABLE tablename CHANGE COLUMN oldcolname newcolname datatype;

ALTER TABLE tablename CHANGE oldcolname newcolname datatype;

PS- 您可以在查询中添加“COLUMN”字样或忽略。它会一样工作。

“RENAME”用于 Oracle 数据库。

答案 12 :(得分:-1)

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

这对我有用