Oracle 12c 데이터베이스 09 - 스키마 수정, 스키마 삭제

💡 본 글은 ‘실습과 함께하는! 데이터베이스 Oracle 12c’ 강의 내용을 바탕으로 정리하였습니다.

스키마 수정

💡 desc 테이블명으로는 제약조건이 다 나오지 않음. user_constraints 테이블을 조회하면 확인 가능.

테이블 컬럼 추가, 수정, 삭제

  -- 컬럼 추가
  ALTER TABLE 테이블명 ADD (컬럼명 데이터타임)

  -- 컬럼 삭제
  ALTER TABLE 테이블명 DROP COLUMN 컬럼명

  -- 컬럼명 변경
  ALTER TABLE 테이블명 CHANGE 컬럼명 변경컬럼명 데이터타입

  -- 컬럼타입 변경
  ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입

기본키 제약조건 추가, 삭제

  -- 기본키 제약조건 추가
  ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명)

  -- 기본키 제약조건 삭제
  ALTER TABLE 테이블명 DROP PRIMARY KEY

UNIQUE 제약조건 추가, 삭제

  -- UNIQUE 제약조건 추가
  ALTER TABLE 테이블명 ADD UNIQUE 컬럼명
  ALTER TABLE 테이블명 ADD CONSTRAINT 제약명 UNIQUE (컬럼명1, 컬럼명2)

  -- UNIQUE 제약조건 삭제
  ALTER TABLE 테이블명 DROP UNIQUE 제약명

외래키 제약조건 추가, 삭제

  -- 외래키 제약 조건 추가
  ALTER TABLE 테이블명 ADD FOREIGN KEY 컬럼명 REFERENCES 원테이블명 원컬럼명

  -- 외래키 제약 조건 삭제
  ALTER TABLE 테이블명 DROP FOREIGN KEY 제약명

테이블명 수정

  ALTER TABLE 테이블명 RENAME TO 변경테이블명

체크 제약조건 추가, 삭제

  -- 체크 제약 조건 추가
  ALTER TABLE 테이블명 ADD CHECK 조건
  ALTER TABLE 테이블명 ADD CONSTRAINT 조건명 CHECK (조건절)

  -- 체크 제약 조건 삭제
  ALTER TABLE 테이블명 DROP CHECK 조건명

DEFAULT 제약조건 추가, 삭제

  -- DEFAULT 제약 조건 추가
  ALTER TABLE 테이블명 ALTER 컬럼명 SET DEFAULT 기본값

  -- DEFAULT 제약 조건 삭제
  ALTER TABLE 테이블명 DROP DEFAULT

스키마 삭제

데이터베이스 삭제

  DROP DATABASE 데이터베이스명

테이블 삭제

  -- 테이블과 레코드 모두 삭제
  DROP TABLE 테이블명

  -- 레코드를 하나씩 지움, 테이블 스키마 유지 (효율이 좋지는 않음)
  DELETE * FROM 테이블병

  -- 테이블 내용만 지움, 테이블 스키마 유지
  TRUNCATE TABLE 테이블명