ALTER TABLE은 참 다양하게 쓰이는데, 지난 포스팅에서 컬럼 추가, 변경, 삭제하는 방법을 알아보았다. 이번에는 ALTER TABLE을 이용해서 컬럼명을 변경하는 방법을 알아보자.
ALTER TABLE 테이블명
CHANGE COLUMN 기존_컬럼명 새_컬럼명
데이터_타입
[ FIRST | AFTER 지정_컬럼명 ];
- ALTER TABLE 뒤에 변경할 컬럼이 있는 테이블 이름을 적는다.
- CHANGE COLUMN 뒤에 변경하고 싶은 기존 컬럼명을 적고, 한 칸 띄운 다음에 변경할 새 컬럼명을 넣어준다.
- 이어서 한 칸 띄어 쓰고 새로운 이름의 컬럼의 데이터 타입을 넣는다. 필요하다면 NOT NULL이나 default 값도 넣어준다.
- 만약 특정 컬럼 뒤에 오게 하고 싶다면 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만 넣어도 컬럼명 변경이 가능하다.
'IT > SQL' 카테고리의 다른 글
SQL 제약조건 Constraints - Primary key (0) | 2021.09.03 |
---|---|
[sql] 제약조건 constraints - NOT NULL (0) | 2021.09.02 |
[sql] alter table, 테이블의 컬럼 정보 수정 및 컬럼 삭제 (0) | 2021.08.23 |
SQL 테이블 삭제하기, 데이터만 삭제하기 drop, delete, truncate (0) | 2021.08.19 |
[SQL] 테이블 만들기-create table (0) | 2021.08.17 |