'Data Definition Language'에 해당되는 글 1건

  1. 2016.11.04 오라클 DDL(Data Definition Language) 알아보기 1
2016. 11. 4. 13:40

오늘은 오라클 DDL(Data Definition Language)에 대해서 정리해보려고 합니다.


오라클의 DDL은 데이터의 정리를 말하며, CREATE TABLE , ALTER TALBE , DROP TABLE , RENAME , TRUNCATE 가 있습니다.

 

1. Create table ( 테이블 생성 )
  - 테이블을 생성 하는 행위 입니다. 테이블 생성시 필드명 , 데이터타입 , default

값 , null여부 , pk값 등을 지정하여 생성 합니다.

 

  - Syntax > Create table <테이블명> ( 컬럼1 데이터타입 , 컬럼2 데이터타입);

 

  - 예제 > (테이블 생성시 데이터 타입에 대한 자세한 설명은 해당 블로그에 "오라클 테이블 생성 및 데이터 타입" 확인 하세요.)

CREATE TABLE SAWON_TABLE
(
   ID_SAWON      VARCHAR2(10) NOT NULL  /*사원ID*/
  ,NM_SAWON    VARCHAR2(30)                 /*사원명*/
  ,JUSO              VARCHAR2(100)               /*주소*/
  ,JOIN_DATE      DATE                             /*입사일*/
  ,GENDER         CHAR(1) DEFAULT '1'

  /*성별 NULL 입력시 1로 자동 셋팅됨*/

  ,AGE               NUMBER(3)                     /*나이*/
  ,DT_INSERT      DATE          NOT NULL     /*입력일자*/
  ,ID_INSERT      VARCHAR2(10)  NOT NULL /*입력자*/
  ,DT_UPDATE    DATE                             /*업데이트일자*/
  ,ID_UPDATE    VARCHAR2(10)                 /*업데이트자*/

 

,CONSTRAINT XPKSAWON_TABLE PRIMARY KEY(ID_SAWON)

 /*사원ID를 해당 테이블에 키값으로 지정*/
);

 

2. Alter table ( 테이블 변경 )

  - 테이블에 컬럼을 추가,삭제,변경 하는 행위입니다.

 

  - Syntax > 컬럼 추가 > Alter table <테이블명> add(컬럼명 데이터타입);

                 컬럼 삭제 > Alter table <테이블명> drop( 컬럼명);

                 컬럼 변경 > Alter table <테이블명> Modify(컬럼명 데이터타입);

 

  - 예제 > 컬럼 추가 >

                 ALTER TABLE SAWON_TABLE ADD(ADD_COLUMN VARCHAR2(10));

              컬럼 삭제 >

                 ALTER TABLE SAWON_TABLE DROP(AGE);

               컬럼 변경 >

                 ALTER TABLE SAWON_TABLE MODIFY(NM_SAWON VARCHAR2(50));

 

3. Drop table ( 테이블 삭제 )

  - 테이블을 삭제하는 행위로 테이블 및 테이블에 있는 데이터가 삭제 됩니다.

    (Rollback 할수 없습니다.)

 

  - Syntax > Drop table <테이블명>;

 

  - 예제 > DROP TABLE SAWON_TABLE ;

 

4. RENAME ( 테이블 명 및 필드 이름변경 )

  - 테이블 및 필드의 이름을 변경 합니다. (

    (Alter Modify 는 필드의 데이터 타입을 변경 할수 있고, Rename은 필드명만 변경 할 수 있습니다.)

 

  - Syntax > 테이블명변경 > Alter table <테이블명> Rename to <테이블명>;

                 필드명변경> Alter table <테이블명> Rename Column <컬럼명> to <컬럼명> ;

 

  - 예제 > 테이블명변경 >

                       Alter table SAWON_TABLE Rename to SAWON_T;

               필드명변경 >

                  Alter table SAWON_T rename COLUMN NM_SAWON to SAWON_NM;

 

5. TRUNCATE ( 테이블 내용 삭제 )

  - 데이터를 삭제하는 행위 입니다. ( Delete 와 동일한 기능이나, truncate는 commit; 없이 자동 적용됩니다. 또한, 저장공간을 삭제하기 때문에 속도가 빠릅니다. 단 테이블의 전체 삭제시만 사용가능합니다.)

 

  - Syntax > Truncate TABLE <테이블명>;

 

  - 예제 > TRUNCATE TABLE SAWON_T;

 

6.정리

  - DDL명령은 COMMIT 없이 자동 적용됨.

  - 컬럼추가시 컬럼은 맨뒤에 추가됨.

  - 테이블 삭제시 참조키로 연결된 테이블 존재시 cascade constraint 옵션을 붙인다.

Posted by dlfma1985