我正在尝试使用此 SQL 表达式重命名 MySQL 社区服务器 5.5.27 中的列:
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 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 语法:RENAME COLUMN:可以更改列名,但不能更改其定义。比 CHANGE 更方便地重命名列而不更改其定义。
在服务器版本:5.6.34 MySQL 社区服务器
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
datatype
(docs for ALTER TABLE)。
来自 MySQL 5.7 参考 Manual。
句法 :
更改表 t1 更改 ab 数据类型;
例如:对于具有 COLUMN customer_name、customer_street、customercity 的客户表。
我们想将 customercity 更改为 customer_city :
alter table customer change customercity customer_city VARCHAR(225);
从 MySQL 8.0 你可以使用
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
ALTER TABLE 语法:RENAME COLUMN:可以更改列名,但不能更改其定义。比 CHANGE 更方便地重命名列而不更改其定义。
您可以使用以下代码:
ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;
在 MySQL 中更改名称我们必须使用“ALTER”表命令,后跟“CHANGE”。下面是查询。
ALTER TABLE tablename CHANGE COLUMN oldcolname newcolname datatype;
ALTER TABLE tablename CHANGE oldcolname newcolname datatype;
PS-您可以在查询中添加“COLUMN”字或忽略。它会同样工作。
“重命名”用于 Oracle 数据库。
ALTER TABLE `table_name` CHANGE `$old_column_name` `new_column_name` VARCHAR(40)
这对我有用
重命名mysql中的列名
alter table categories change type category_type varchar(255);
在 mysql 你的查询应该像
ALTER TABLE table_name change column_1 column_2 Data_Type;
您已经在 Oracle 中编写了查询。
语法:ALTER TABLE table_name CHANGE old_column_name new_column_name 数据类型;
如果表名是学生,列名是名称。然后,如果您想将 Name 更改为 First_Name
ALTER TABLE Student CHANGE Name First_Name varchar(20);
ALTER TABLE table_name CHANGE old_column_name new_column_name columnDataType;
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();
使用 ALTER TABLE 命令重命名 MySQL 列
ALTER TABLE 是用于更改 MySQL 表结构的基本命令。您可以使用它来添加或删除列、更改列中的数据类型,甚至重命名整个数据库。我们最关心的功能是如何利用 ALTER TABLE 重命名列。
子句让我们对重命名过程有了额外的控制。 RENAME COLUMN 和 CHANGE 子句都允许更改现有列的名称。不同之处在于 CHANGE 子句也可用于更改列的数据类型。命令很简单,您可以使用最符合您要求的子句。
如何使用重命名列子句 (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 <= 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';
我使用并重命名了表中的一堆列。
如果您使用的是 gui SQL SMS
你可以做 db -> Tables -> Table -> columns -> 你想重命名的列
右键单击并重命名
CHANGE
更改表上的列及其类型。 MYSQL 文档状态:Attributes present in the original definition but not specified for the new definition are not carried forward.
。这意味着您必须指定表定义,否则它们将不会用于该列。如果您只想更改列的数据类型,只需省略newcolname
In MySQL, the quote character is the backtick. If the SQL mode ANSI_QUOTES is set, double quotes can also be used to quote the identifiers. In Oracle, identifiers are quoted using double quotation marks.
Aaaand 已编辑。我需要咖啡.."
而不是`
?MYSQL STATUS
显示mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
)中,对于查询ALTER TABLE comment RENAME COLUMN thread_id TO threadId;
,我得到Error 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
。我还尝试添加反引号`
。我最终使用了CHANGE
。