Answers:
使用以下查询:
ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length);
该RENAME
功能在Oracle数据库中使用。
ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length);
注意用于MySQL的反引号,而双引号用于Oracle的语法。另请注意,MySQL 8.0可能不接受反引号。在这种情况下,不带反引号的情况下执行查询,它可能会起作用。
@ lad2025在下面提到了这一点,但是我认为添加他的发言会很好。谢谢@ lad2025!
您可以RENAME COLUMN
在MySQL 8.0中使用来重命名需要重命名的任何列。
ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;
重命名列:
可以更改列名,但不能更改其定义。
重命名列而不更改其定义,比CHANGE更方便。
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
)中,我得到Error 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
了查询 ALTER TABLE comment RENAME COLUMN thread_id TO threadId;
。我还尝试添加反引号`
。我最终使用CHANGE
。
在服务器版本中:5.6.34 MySQL Community Server
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
从MySQL 5.7参考手册。
句法 :
更改表t1更改ab数据类型;
例如:对于具有COLUMN customer_name,customer_street,customercity的 Customer TABLE 。
我们要改变customercity TO 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;
重命名列:
可以更改列名,但不能更改其定义。
重命名列而不更改其定义,比CHANGE更方便。
重命名MySQL中的列名
alter table categories change type category_type varchar(255);
https://dev.mysql.com/doc/refman/8.0/zh-CN/alter-table.html
对于MySQL 8
alter table creditReportXml_temp change column applicationID applicantID int(11);