我试图重命名一个列在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服务器版本对应的手册
我试图重命名一个列在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服务器版本对应的手册
当前回答
从MySQL 8.0你可以使用
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
ALTER TABLE语法: 重命名列: 可以更改列名,但不能更改其定义。 在不更改列定义的情况下重命名列比CHANGE更方便。
DBFiddle演示
其他回答
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);
来自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数据库。
用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之后。
你可以使用以下代码:
ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;