백엔드 과정/Oracle(SQL)

[Oracle] Chap08 DDL

mim 2022. 1. 25. 20:32
반응형

 

DDL

(Data Definition Language) 데이터 정의어

 

1. ALTER / 2. DROP

객체를 수정하는 구문

 

1) 테이블 객체 수정

  • 테이블 수정 
ALTER TABLE 테이블명 수정할 내용;

 

2) 컬럼 추가/삭제/변경

  • 2-1) 컬럼 추가
ALTER TABLE 테이블명
ADD (컬럼명 자료형);

 

  • 2-2) 컬럼 생성 시 DEFAULT 값 지정
ALTER TABLE 테이블명
ADD (컬럼명 자료형 DEFAULT 디폴트값);

 

  • 2-3) 컬럼삭제
ALTER TABLE 테이블명
DROP COLUMN 삭제할컬럼명 또는 DROP (삭제할컬럼명);

데이터가 기록 되어 있어도 삭제 된다.

삭제된 컬럼은 복구가 불가능
테이블에는 최소 한 개 이상의 컬럼이 존재해야 함 모든 컬럼 삭제 불가능

 

 

컬럼 삭제 시 참조하고 있는 컬럼이 있다면 삭제를 못한다.

ALTER TABLE TB1
DROP COLUMN PK;
-- 부모 키 열을 삭제할 수 없습니다

제약조건도 함께 삭제한다면 삭제할 수 있다.

ALTER TABLE 테이블명
DROP COLUMN 컬럼명 CASCADE CONSTRAINTS;

 

  • 2-4) 컬럼 자료형 수정
ALTER TABLE 테이블명
MODIFY 컬럼명 자료형 ;

 

컬럼의 크기를 줄이는 경우에는 변경하려는 크기를 초과하는 값이 없을 때만 변경할 수 있다.

 

  • 2-5) DEFAULT 값 변경
ALTER TABLE 테이블명
MODIFY 컬럼명 DEFAULT 디폴트값;

 

3) 제약조건 추가/삭제/변경

  • 3-1) 컬럼에 제약조건 추가
ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 PRIMARY KEY 컬럼명;

ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 UNIQUE 컬럼명;

 

  • 3-2) NOT NULL 제약조건 추가 시 MODIFY 사용
ALTER TABLE 테이블명
MODIFY 컬럼명 CONSTRAINT 제약조건명 NOT NULL;

 

  • 3-3 ) 제약조건 삭제
-- 제약조건 1개 삭제시
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명;

-- 제약조건 여러개 삭제시
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명
DROP CONSTRAINT 제약조건명
DROP CONSTRAINT 제약조건명 ;

 

  • 3-4 ) NOT NULL 제약 조건 삭제 시 MODIFY 사용
ALTER TABLE 테이블명
MODIFY (컬럼명 NULL, 컬럼명 NULL);

 

4) 테이블명, 제약조건명 변경

  • 4-1) 컬럼 이름 변경
ALTER TABLE 테이블명
RENAME COLUMN 기존 컬럼명 TO 바꿀 컬럼명;

 

  • 4-2) 테이블 이름 변경
ALTER TABLE 기존 테이블명
RENAME TO 바꿀 테이블명;

 

  • 4-3) 제약조건 이름변경
ALTER TABLE 테이블면
RENAME CONSTRAINT 기존 제약조건명 TO 바꿀 제약조건명;

 

 

 

3. CREATE 

이전 강의 내용 첨부. 테이블 생성 Part

 

[Oracle] Chap06 테이블 생성 및 제약조건

1. DDL (CREATE TABLE) DDL (DATA DEFINITION LANGUAGE) : 데이터 정의 언어 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP)하는 구문 1-1. CREATE 테이블 만들기 [표현식] CREATE TABLE 테이블명 (..

tm-im.tistory.com

 

4. TRUNCATE 

테이블의 전체 행을 삭제할 시 사용한다.  DELETE보다 수행 속도가 빠르다.

 

ROLLBACK을 통해 복구할 수 없다.

TRUNCATE TABLE 테이블명;

ROLLBACK;
SELECT * FROM 테이블명; -- 전체 행들이 돌아오지 않음.

 

 

반응형