[mysql] MySQL에서 열 이름 바꾸기

이 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);

큰 따옴표는 Oracle의 구문에 사용되는 반면 MySQL에는 백틱이 사용됩니다. 또한 MySQL 8.0은 백틱을 허용하지 않을 수 있습니다. 이 경우 백틱없이 쿼리를 실행하면 작동합니다.


@ lad2025 는 아래에 언급하지만, 그가 말한 것을 추가하는 것이 좋을 것이라고 생각했습니다. @ lad2025 감사합니다!

RENAME COLUMNMySQL 8.0에서 를 사용하여 이름을 변경해야하는 열의 이름을 바꿀 수 있습니다.

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE 구문 :

열 이름 바꾸기 :

  • 열 이름은 변경할 수 있지만 정의는 변경할 수 없습니다.

  • 정의를 변경하지 않고 열의 이름을 바꾸는 것이 CHANGE보다 편리합니다.


답변

서버 버전 : 5.6.34 MySQL 커뮤니티 서버

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을 에게 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 구문 :

열 이름 바꾸기 :

  • 열 이름은 변경할 수 있지만 정의는 변경할 수 없습니다.

  • 정의를 변경하지 않고 열의 이름을 바꾸는 것이 CHANGE보다 편리합니다.

DBFiddle 데모


답변

다음 코드를 사용할 수 있습니다.

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);