··조회 23,731
DDL(Data Definition Language) - ALTER TABLE
지난 시간에 CREATE를 이용해 테이블을 만드는 DDL을 실습했습니다.
이번 시간에는 만들어 놓은 테이블을 변경하는 명령인 ALTER에 대해 실습하겠습니다.(그리고 다음 시간에는 삭제 명령인 DROP을 실습할 예정입니다.)

문법적으로 어려운 것은 전혀 없는데 실제 실무에서 사용하려고 하면 잘 기억나지 않을 때가 있습니다.
모든 것이 그러하듯 자주 사용해야 기억할 수 있겠죠.
이상 동주 아빠 손병목이었습니다.

이번 시간에는 만들어 놓은 테이블을 변경하는 명령인 ALTER에 대해 실습하겠습니다.(그리고 다음 시간에는 삭제 명령인 DROP을 실습할 예정입니다.)

- ALTER는,
- 기존 테이블에 새로운 컬럼을 추가하거나 변경(컬럼의 데이터형 변경 등)할 때 ALTER 명령을 사용합니다.
- ALTER 명령은 Constraint를 추가하거나 삭제할 때도 사용할 수 있습니다.
- 그러나 CREATE TABLE 문으로 만든 컬럼은 삭제할 수 없습니다.
- 기존 테이블에 새로운 컬럼을 추가하거나 변경(컬럼의 데이터형 변경 등)할 때 ALTER 명령을 사용합니다.
- ALTER 문은 다음과 같이 사용됩니다.
ALTER TABLE table_name
ADD ( column_name datatype )
MODIFY( column_name datatype )
ADD CONSTRAINT constraint_name expr
DROP CONSTRAINT constraint_name;
- 실습 1
기존 C_EMP 테이블에 AGE 컬럼을 추가하고 기존의 EMP_NAME 컬럼의 길이를 20으로 줄이기.(단, AGE는 0보다 커야하고, 이 조건의 이름을 CK_AGE라고 한다.)
ALTER TABLE C_EMP
ADD (AGE NUMBER(3))
MODIFY (EMP_NAME VARCHAR(20))
ADD CONSTRAINT CK_AGE CHECK(AGE > 0);
- 실습 2
C_EMP 테이블에서 기존의 FK_DEPTNO라는 CONSTRAINT를 삭제하기
ALTER TABLE C_EMP
DROP CONSTRAINT FK_DEPTNO;
- 실습 3
C_EMP 테이블에서 DEPT_NO 컬럼에 Foreign Key Constraint를 추가하기(단, Foreign Key Constraint의 이름은 FK_EMP_DEPTNO로 한다.)
ALTER TABLE C_EMP
ADD CONSTRAINT FK_EMP_DEPTNO
FOREIGN KEY(DEPT_NO) REFERENCES DEPT;
문법적으로 어려운 것은 전혀 없는데 실제 실무에서 사용하려고 하면 잘 기억나지 않을 때가 있습니다.
모든 것이 그러하듯 자주 사용해야 기억할 수 있겠죠.
이상 동주 아빠 손병목이었습니다.
