ORACLE - DDL

pig426·2022년 6월 30일
0

database_oracle

목록 보기
1/3

DDL(Data Definition Language) : 데이터 정의어


  • CREATE
    table 등의 객체를 생성하기 위해 사용하는 명령어
    CREATE TABLE 테이블 이름 (
        컬럼명1 데이터타입 제약조건,
        컬럼명2 데이터타입 제약조건
        ...
    );
  • ALTER
    table 등의 객체를 수정하기 위해 사용하는 명령어

    • 컬럼 추가, 변경, 삭제

      ALTER TABLE 테이블명 ADD 컬럼명 타입 [제약조건];
      ALTER TABLE 테이블명 MODIFY 컬럼명 타입 [제약조건];
      ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
    • 제약조건 추가, 삭제

      ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] PRIMARY KEY;
      ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명;
  • DROP
    table 등의 객체를 삭제하기 위해 사용하는 명령어

    DROP TABLE 테이블명;
  • TRUNCATE

    • 테이블의 전체 데이터 삭제
    • 롤백 불가
    • 데이터만 삭제 되고 테이블 용량은 줄어들지 않는 DELETE와 달리 테이블을 최초 생성된 초기 상태로 만듬
     TRUNCATE TABLE 테이블명;
  • 제약조건

    • NOT NULL
      null값 허용 x
      null을 제외한 데이터 중복 허용

    • UNIQUE
      값이 중복되지 않아야함(null값은 중복에서 제외)

    • PRIMARY KEY
      유일한 값이며 null 허용 x

    • FOREIGN KEY
      다른 테이블의 열을 참조하여 존재하는 값만 입력 가능

      • ON DELETE CASCADE
        부모테이블 값이 삭제되면 연쇄적으로 자식테이블 값 삭제
      • ON DELETE SET NULL
        부모테이블 값이 삭제되면 자식테이블 값 NULL로 변환
    • CHECK
      설정한 조건식을 만족하는 데이터만 입력 가능

    • DEFAULT
      데이터 입력 시 값이 없을 경우 기본으로 넣을 값 지정

  • emp 테이블 생성 예제

    CREATE TABLE emp(
      empno number(4) primary key,
      ename varchar2(10) not null,
      job varchar2(9),
      mgr number(4),
      hiredate date default sysdate,
      sal number(7,2),
      comm number(7,2) default 0,
      deptno number(2) references dept(deptno),
      gender char(1) check(gender in ('M', 'F')) 
    );



0개의 댓글