Programming/SQL
[Oracle] 오라클 ALTER TABLE 사용방법 (ADD/RENAME/MODIFY/DROP)
감성적인 개발자
2022. 6. 3. 23:08
ALTER 구문
테이블 설계 후 변경사항이 있을 때 ALTER 구문을 사용하는데, 드문드문 사용하다보니 자주 까먹는다. 이참에 사용법을 정리해보기로 했다.
ADD : 열 추가
ALTER TABLE [테이블] ADD [컬럼명] [데이터타입] 형식으로 입력가능하며, 여러 행을 한 번에 추가할 수도 있다. 열을 추가했을 때 필요에 따라 컬럼 순서를 변경할 수도 있다.
ALTER TABLE EMP ADD HP VARCHAR2(20);
ALTER TABLE EMP ADD TEL VARCHAR2(20);
ALTER TABLE EMP ADD (HP VARCHAR2(20), TEL VARCHAR2(20));
RENAME : 열 이름 변경
추가한열인 TEL 이름을 PHONE으로 변경한다.
ALTER TABLE [테이블] RENAME COLUMN [기존컬럼명] TO [변경할컬럼명];
ALTER TABLE EMP RENAME COLUMN TEL TO PHONE;
참고로 테이블명 변경은 다음과 같다.
RENAME [기존테이블명] TO [변경할테이블명];
RENAME EMP TO EMP_ALTER;
MODIFY : 열 자료형 변경
자료형의 길이를 증가시킬 땐 신경쓸 필요가 없지만 길이를 줄이는 경우 테이블에 저장된 데이터에 문제가 생긴다면 변경이 불가능하다.
만약 PHONE 컬럼에 20글자가 저장된 데이터가 있는 상태로 PHONE 데이터 타입을 VARCHAR(10)으로 줄일 순 없다.
ALTER TABLE [테이블] MODIFY [컬럼명] [데이터타입|옵션]
ALTER TABLE EMP MODIFY PHONE VARCHAR2(30);
ALTER TABLE EMP MODIFY PHONE NULL; --이미 NULL이기 때문에 실행안됨
ALTER TABLE EMP MODIFY PHONE DEFAULT '000';
DROP : 열 삭제
열이 삭제되면 해당 열에 존재하던 데이터도 같이 삭제된다.
ALTER TABLE [테이블] DROP COLUMN [컬럼명];
ALTER TABLE EMP DROP COLUMN PHONE;
COMMENT ON : 테이블 컬럼 설명 추가
컬럼에 대한 설명을 추가해놓으면 나중에 컬럼 뜻이 기억나지 않을 때 유용하게 사용할 수 있다.
COMMENT ON COLUMN [테이블].[컬럼] IS 'COMMENT';
COMMENT ON COLUMN EMP.PHONE IS '휴대폰';