KoreaIt Academy/Oracle DBMS

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

hongeeii 2021. 8. 5.
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
반응형

추천 글