본문 바로가기
데이터베이스/SQLD

[DDL] ALTER TABLE

by 나는 유찌 2020. 6. 7.

* 모든 쿼리는 oracle을 기준으로 작성하였습니다.

* SQL 전문가 가이드 책을 보며 공부하고 작성하였습니다.

 

 

 

 

 

ALTER TABLE


테이블에 도중에 칼럼을 추가/삭제하거나 제약조건을 추가/삭제하는 작업을 진행할 때 사용한다.

 

 

 

 

 

 

ADD COLUMN


테이블에 새로운 칼럼을 추가합니다.

새롭게 추가된 칼럼은 테이블의 마지막 칼럼이 되며 칼럼의 위치는 지정할 수 없습니다.

 

구문

ALTER 	TABLE	      테이블명
ADD	추가할 칼럼명 데이터 유형;

 

예제 쿼리

 

PLAYER 테이블에 ADDRESS(데이터 유형은 가변 문자로 자릿수 80자리로 설정) 칼럼을 추가.

ALTER TABLE PLAYER
ADD (ADDRESS VARCHAR2(80));

 

 

 

 

DROP COLUMN


테이블에서 필요 없는 칼럼을 삭제 할 수 있습니다.

 

구문

ALTER TABLE 테이블명
DROP COLUMN 삭제할 칼럼명;

 

예제 쿼리

 

PLAYER 테이블에 새롭게 추가한 ADDRESS 칼럼을 삭제.

ALTER TABLE PLAYER
DROP COLUMN ADDRESS;

 

 

 

 

 

MODIFY COLUMN


테이블의 칼럼에 대한 정의를 변경하는 명령입니다.

 

구문

ALTER TABLE 테이블명
MODIFY (칼럼명1 데이터유형 [DEFAULT 식] [NOT NULL]);

 

예제 쿼리

 

TEAM 테이블의 ORIG_YYYY 칼럼의 데이터 유형을 VARCHAR2(8)로 변경하고,

향후 입력되는 데이터의 DEFAULT 값으로 '20020129'를 적용하고,

모든 행의 ORIG_YYYY 칼럼에 NULL이 없으므로 제약조건을 NOT NULL로 변경.

ALTER TABLE TEAM
MODIFY (ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL);

 

 

 

 

RENAME COLUMN


구문

ALTER TABLE 테이블명
RENAME COLUMN 변경해야 할 칼럼명 TO 새로운 칼럼명;

 

 

 

 

DROP CONSTRAINT


제약조건을 삭제하는 명령어입니다.

 

구문

ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명;

 

예제 쿼리

 

PLAYER 테이블의 외래키 제약조건을 삭제.

ALTER TABLE PLAYER
DROP CONSTRAINT PLAYER_FK;

 

 

 

 

ADD CONSTRAINT


제약조건을 추가합니다.

 

구문

ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건 (칼럼명);

 

예제 쿼리

 

PLAYER 테이블에 TEAM 테이블과의 외래키 제약조건을 추가.

제약조건명은 PLAYER_FK로 하고, 

PLAYER 테이블의 TEAM_ID 칼럼이 TEAM 테이블의 TEAM_ID를 참조하는 조건.

ALTER TABLE PLAYER
ADD CONSTRAINT PALYER_FK FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID);

 

'데이터베이스 > SQLD' 카테고리의 다른 글

[TCL] 트랜잭션  (0) 2020.06.07
[DML] INSERT, UPDATE, SELECT  (0) 2020.06.07
[DDL] CREATE TABLE  (0) 2020.06.07
데이터 유형 (CHAR, VARCHAR, NUMERIC, DATE)  (0) 2020.06.07
관계형 데이터베이스, SQL, TABLE  (0) 2020.06.07