본문 바로가기

DataBase/Oracle

Oracle(3) - DDL

DataBase에서 DDL(데이터 조작어)는 테이블을 생성, 삭제, 수정할 수 있게 해주는 언어이다.

1. CREATE TABLE 테이블 구조 정의

CREATE TABLE을 할때에는 칼럼에 지정할 수 있는 자료형이 정해져있다. VARCHAR2, NUMBER, DATE, LONG을 주로사용한다. 예를들어 사원번호, 사원명, 급여 3개의 컬럼으로 이루어진 테이블을 만들기 위해서는


CREATE TABLE EMP(
 EMPNO NUMBER(4),
 ENAME VARCHAR2(20),
 SAL NUMBER(7, 2)
);

이런 식으로 생성할 수가 있다. 생성후 테이블 구조 확인을 위해서는
SELECT * FROM EMP; 쿼리를 사용해서 확인할 수 있다.

2. 기존 테이블 복사

테이블을 생성할 때 기존테이블을 복사할 수도 있는데 다음과 같이 사용한다.

CREATE TABLE EMP01 AS SELECT * FROM EMP; (EMP테이블을 복사해서 EMP01로 생성)

3. ALTER TABLE로 테이블 구조 변경

ALTER TABLE명령어는 테이블에서 칼럼의 추가 혹은 삭제, 수정을할 때 사용한다.

  • ADD COLUMN절을 사용하여 칼럼을 추가한다.
    ex) ALTER TABLE TABLE_NAME ADD(COLUMN_NAME TYPE);
  • MODIFY COLUMN절을 사용하여 칼럼을 수정한다.
    ex) ALTER TABLE TABLE_NAME MODIFY(COLUMN_NAME TYPE);
  • DROP COLUMN절을 사용하여 칼럼을 삭제한다.
    ex) ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME;

4. DROP TABLE로 테이블 구조 삭제

DROP TABLE로 테이블을 삭제하게되면 그안에 데이터까지 모조리 삭제되기때문에 사용시 유의해야한다.
ex) DROP TABLE TABLE_NAME;
휴지통에 넣지않고 바로삭제
ex) DROP TABLE TABLE_NAME PURGE;

* 삭제하고자 하는 테이블의 기본키를 다른테이블에서 참조하고 있으면 테이블 삭제가 불가능하다. 먼저 참조하는 테이블삭제하고 진행해야한다.

5. RENAME, TRUNCATE명령어

RENAME TABLE_NAME TO TABLE_NAME2; -> 테이블명을 TABLE_NAME2로 변경
TRUNCATE TABLE TABLE_NAME -> 테이블의 모든행을 삭제(롤백데이터가 안남음)

 

'DataBase > Oracle' 카테고리의 다른 글

Oracle(6) - JOIN  (0) 2019.04.17
Oracle(5) - 무결성제약조건  (0) 2019.04.17
Oracle(4) - DML, 트랜잭션  (0) 2019.04.16
Oracle(2) - SQL함수  (0) 2019.04.15
Oracle(1) - SQL기본  (0) 2019.04.12