오늘은 오라클 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 옵션을 붙인다.
'관심1 > 오라클' 카테고리의 다른 글
최적의 SQL 작성 (0) | 2016.12.10 |
---|---|
오라클 DCL(Data Control Language) 알아보기 (0) | 2016.11.08 |
오라클 DML(Date Manipulation Language) 알아보기 (0) | 2016.10.31 |
오라클 딕셔너리테이블뷰 확인 (0) | 2016.10.27 |
오라클 테이블 생성 및 데이터 타입 (0) | 2016.10.25 |