KoreaIt Academy/Oracle DBMS

[Oracle] DDL(Data Definition Language) - 데이터 정의어, 자료형

hongeeii 2021. 8. 5. 09:08
728x90
반응형

데이터 정의어(Data Definition Language)

데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을 하는 언어 입니다. 데이터베이스, 테이블등을 생성하는 역할을 합니다.

 

* CREATE 

▶ 데이터 베이스, 테이블 등을 생성하는 역할을 합니다.

 

* ALTER

테이블을 수정하는 역할을 합니다.

 

* DROP

데이터베이스, 테이블을 삭제하는 역할을 합니다.

 

* TURNCATE

 테이블을 초기화 시키는 역할을 합니다.

 

 

위의 DML명령어들을 살펴 보기전에 앞서, Oracle DBMS의 자료형부터 먼저 알아보겠습니다.

 

자료형(TYPE) : 용량은 항상 넉넉하게 주도록 한다.

   숫자
      NUMBER(precision) : 정수
      NUMBER(precision, 소수점 자리수) : 실수
      NUMBER : 생략 시 22byte까지 입력 가능(38자리 정수)
      
   문자열
      CHAR(길이) : 고정형
         CHAR(4)에 'A'를 넣으면 A^^^ 빈 자리가 공백으로 채워집니다.
         형식을 정한 날짜, 주민등록번호처럼 글자 수가 절대 변하지 않는 값을 넣습니다.

      VARCHAR(길이), VARCHAR2(길이) : 가변형
         값의 길이만큼 공간이 배정됩니다. 글자 수에 변화가 있는 값을 넣습니다.

   날짜
      DATE : FORMAT에 맞춰서 날짜를 저장하는 타입

 

 

 

* CREATE

※ CREATE명령어 ()안에서 공백('\n')이 있으면 오류가 납니다.

※ 제약조건을 설정하는 CONSTRAINT 키워드로 PRIMARY KEY를 설정했습니다.

CREATE TABLE TBL_ANIMAL(
     ID NUMBER /*PRIMARY KEY*/,
     --예약어를 컬럼명으로 사용하고 싶다면 ""를 붙여준다.
     "TYPE" VARCHAR2(1000),
     AGE NUMBER(3),
     FEED VARCHAR2(1000),
     CONSTRAINT ANIMAL_PK PRIMARY KEY(ID)
);

 

CREATE TABLE TBL_STUDENT(
     ID NUMBER,
     NAME VARCHAR2(1000),
     MAJOR VARCHAR2(1000),
     GENDER CHAR(1) DEFAULT 'F' NOT NULL CONSTRAINT BAN_CHAR CHECK(GENDER IN('M','F')),
     BIRTH DATE CONSTRAINT BAN_DATE CHECK(BIRTH >= TO_DATE('1980-01-01','YYYY-MM-DD')), 
     CONSTRAINT STUDENT_PK PRIMARY KEY(ID) );

 

※ 조합키 사용

CREATE TABLE TBL_FLOWER(
     flowerName VARCHAR2(1000),
     flowerColor VARCHAR2(1000),
     flowerPrice NUMBER,
     CONSTRAINT FLOWER_PK PRIMARY KEY(flowerName, flowerColor)
);

 

* ALTER

제약 조건 추가

ALTER TABLE TBL_ANIMAL ADD CONSTRAINT ANIMAL_PK PRIMARY KEY(ID);

 

제약 조건 삭제

ALTER TABLE TBL_ANIMAL DROP CONSTRAINT ANIMAL_PK;

 

컬럼 추가

ALTER TABLE TBL_ANIMAL ADD(GENDER CHAR(1));

 

컬럼 이름 수정

ALTER TABLE TBL_ANIMAL RENAME COLUMN ID TO NUM;

 

컬럼 삭제

ALTER TABLE TBL_ANIMAL DROP COLUMN GENDER;

 

컬럼 변경

ALTER TABLE TBL_ANIMAL MODIFY(FEED VARCHAR2(1000));

 

테이블 이름 수정

ALTER TABLE TBL_ANIMAL RENAME TO TBL_ANIMAL2;

 

 

* DROP

DROP TABLE TBL_ANIMAL;

 

 

* TURNCATE

TRUNCATE TABLE TBL_ANIMAL;

 

 

TRUNCATE, DROP, DELETE 차이

 

 

 


이상으로 데이터 정의어 DML에대해 알아보았습니다.

728x90
반응형