본문 바로가기

IT/SQL

[sql] alter table, 테이블의 컬럼명 변경하기

ALTER TABLE은 참 다양하게 쓰이는데, 지난 포스팅에서 컬럼 추가, 변경, 삭제하는 방법을 알아보았다. 이번에는 ALTER TABLE을 이용해서 컬럼명을 변경하는 방법을 알아보자.

 

ALTER TABLE 테이블명
CHANGE COLUMN 기존_컬럼명 새_컬럼명
데이터_타입 
[ FIRST | AFTER 지정_컬럼명 ];

 

  1. ALTER TABLE 뒤에 변경할 컬럼이 있는 테이블 이름을 적는다.
  2. CHANGE COLUMN 뒤에 변경하고 싶은 기존 컬럼명을 적고, 한 칸 띄운 다음에 변경할 새 컬럼명을 넣어준다.
  3. 이어서 한 칸 띄어 쓰고 새로운 이름의 컬럼의 데이터 타입을 넣는다. 필요하다면 NOT NULL이나 default 값도 넣어준다.
  4. 만약 특정 컬럼 뒤에 오게 하고 싶다면 AFTER 뒤에 그 특정 컬럼명을 적어준다. 이 값을 적어주지 않으면 기존 컬럼명이 있던 자리에 새 컬럼의 이름이 들어가게 된다. 테이블의 가장 위에 오게 하고 싶다면 FIRST를 넣어준다.

 

이제 예문을 살펴보자. members 테이블의 phone 컬럼을 cellPhone이라는 이름으로 바꾸어 보자.

 

> desc members;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| memberID | int(11)      | YES  |     | NULL    |       |
| name     | varchar(100) | NO   |     | NULL    |       |
| address  | varchar(255) | YES  |     | NULL    |       |
| phone    | varchar(20)  | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.164 sec)

> alter table members
    -> change column phone cellPhone
    -> varchar(20);
Query OK, 0 rows affected (0.084 sec)
Records: 0  Duplicates: 0  Warnings: 0

> desc members;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| memberID  | int(11)      | YES  |     | NULL    |       |
| name      | varchar(100) | NO   |     | NULL    |       |
| address   | varchar(255) | YES  |     | NULL    |       |
| cellPhone | varchar(20)  | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
4 rows in set (0.067 sec)​


실행 결과, phone 컬럼이 cellPhone으로 이름을 변경된 것을 확인할 수 있다.
** mysql에서 CHANGE COLUMN 키워드 대신 CHANGE만 넣어도 컬럼명 변경이 가능하다.

 

 

 

[sql] alter table, 테이블의 컬럼 정보 수정 및 컬럼 삭제

SQL 테이블 수정 테이블을 수정할 때는 ALTER TABLE이라는 식을 사용한다. 테이블의 이름이나 테이블 안에 있는 여러 필드를 변경한다던지, 컬럼을 더하거나 삭제할 때도 유용하게 사용할 수 있다.

knitter-amelie.tistory.com