광형 2022. 10. 31. 23:57
728x90
728x90
SMALL

1.ALTER
    객체 구조를 수정하는 구문
    <테이블 수정>
    [표현법]
    ALTER TABLE 테이블명 수정할내용;
    
    수정할 내용
    1)컬럼추가/수정/삭제
    2)제약조건 추가/삭제 -> 수정은 불가 (수정하고자 한다면 삭제 후 새로이 추가)
    3)테이블명 / 컬럼명 / 제약조건명 수정

 

1)컬럼 추가/수정/삭제
1-1) 컬럼추가 (ADD) : ADD추가할컬럼명 자료형 DEFAULT 기본값
                         단, DEFAULT 생략가능

예시)DEPT_TABLE에 DEPT_NAME 컬럼 추가

ALTER TABLE DEPT_TABLE ADD DEPT_NAME VARCHAR2(20);

예시)DEPT_TABLE에 UPDATE_DATE 컬럼추가하고 그 기본값을 현재 날짜로 선택

ALTER TABLE DEPT_NAME ADD UPDATE_DATE SYSDATE;

DATE타입의 기본형은 사용되는 SQL 종류마다 다릅니다. 예시) MSSQL => GETDATE(), ORACLE SQL => SYSDATE 등등

2) 컬럼 수정(MODIFY)
컬럼의 자료형 수정 : MODIFY 수정할컬럼명 바꾸고자 하는 자료형
DEFAULT 값 수정 : MODIFY 수정할컬럼명 바꾸고자 하는 기본값

예시) DEPT_TABLE에서 DEPT_NAME의 자료형을 CHAR(3)으로 수정하기

ALTER TABLE DEPT_TABLE MODIFY DEPT_NAME CHAR(3);

주의할점

1)현재 변경하고자 하는 컬럼에 이미 담겨있는 값과 완전히 다른 타입으로 변경해보기 (변경 X)
ALTER TABLE DEPT_TABLE MODIFY DEPT_ID NUMBER;--column to be modified must be empty to change datatype

2)현재 변경하고자 하는 컬럼에 담긴 값보다 작은 크기로 설정할 수 없다.
ALTER TABLE DEPT_NAME MODIFY DEPT_ID CHAR(5);--cannot decrease column length because some value is too big

3)현재 변경하고자 하는 컬럼에 담긴 값보다 크게 변경하는것은 가능
ALTER TABLE DEPT_TABLE MODIFY DEPT_ID CHAR(10);

3)컬럼삭제 (DROP COLUMN) : ALTER TABLE DROP COLUMN 삭제하고자 하는 컬럼명

예시) DEPT_TABLE에서 DEPT_NAME 컬럼 삭제

ALTER TABLE DEPT_TABLE DROP COLUMN DEPT_NAME

728x90
300x250
LIST