자바 웹 개발자가 될거야/DB
[Oracle] 테이블 수정하기 / ALTER문
whitz
2021. 12. 7. 17:36
< 테이블 수정하기 >
- ALTER TABLE 테이블명 ALTER/MODIFY/DROP 조건; 이 기본틀이다
- 테이블 만든 후 특정 컬럼을 수정하고 싶을 때 사용
① 컬럼 추가
- 컬럼 추가, 기존 컬럼에 제약조건 추가도 가능
- 가장 마지막 컬럼으로 추가됨
- 컬럼 새로 추가하게 되면 데이터값은 NULL로 배정
ALTER TABLE 테이블명
ADD 조건;
ALTER TABLE dept80
ADD (job_id VARCHAR2(9));
② 컬럼 수정
- 데이터타입, 컬럼 사이즈, Default값, 제약조건 추가 등의 수정가능하다
- 사이즈를 늘리는 건 언제든지 상관없음 ( 단, 사이즈를 줄이는건 이미 저장된 컬럼값에 의해 가능 불가능 )
ALTER TABLE 테이블명
MODIFY 조건;
ALTER TABLE dept80
MODIFY (last_name VARCHAR2(30));
③ 컬럼 삭제
- 테이블로부터 필요없는 컬럼을 삭제
- 컬럼 위치는 상관없음
- 컬럼 삭제할거면 DROP 뒤에 column이라고 명시해줘야함
ALTER TABLE 테이블명
DROP 조건;
ALTER TABLE dept80
DROP column job_id;
④ 테이블 생성 후 제약조건 추가
- 컬럼레벨 문법
· PK, FK, UK, CK, NN
ALTER TABLE 테이블명
MODIFY 컬럼명 CONSTRAINT 제약조건명 제약조건유형;
- 테이블레벨 문법
· PK, FK, UK, CK
ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건유형(컬럼명);
⑤ 제약조건 삭제
- 함께 사용할 수 있는 옵션 : cascade
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명[cascade];
※ 데이터 사전
- 자신 소유의 테이블이 뭐가 있는지 / 제약조건이 뭐가 있는지 확인가능
SELECT table_name FROM user_tables;
SELECT table_name FROM user_constraints;