DDL 명령를 통해서 테이블을 생성(CREATE) , 수정(ALTER) ,잘라내기(TRUNCATE), 이름변경(RENAME), 삭제(DROP) 등을 수행 할 수 있습니다. 각각의 명령어들을 예시를 통해서 자세히 알아보겠습니다.
1) CREATE 문 : 새로운 테이블을 생성할 때 사용합니다.
형식 : create table 테이블 명( 필드명1 내용(숫자-NUMBER, 글자-VARCHAR2)1, 필드명2 내용2 ...);
create table 문
create table cafe(
cono number(4), -- 4자리까지 담을 수 있는 숫자의 저장 공간을 확보
coname varchar2(20), -- 문자를 담을 있는 저장소의 공간을 확보
cosal number(6,2) -- 6자리까지 할당 할 수 있지만 4자리는 정수, 2자리는 실수의 자리로 저장 공간을 확보
);
TIP) varchar2(N) : N의 값을 너무 크게 저장공간을 잡으면 프로그램 진행 속도를 늦출 수 있습니다.
그렇기 때문에 적당한 수를 입력하시면 좋습니다.
2) CREATE 문을 활용 : 기존 테이블과 동일하게 테이블 만들기
형태 : 형식 : create table 테이블 명 as select * from 복사할 테이블 명;
기존 테이블과 동일하게 테이블 만들기
create table kongcafe
as
select * from cafe; -- cafe의 테이블과 동일한 값이 kongcafe에 그대로 복사가 됩니다.
3) ALTER문 : 수정을 의미하는 명령어로 다양하게 사용됩니다.
- 기존 테이블에서 새로운 컬럼 추가 : alter 문(필드추가)
형태 : alter table 테이블 이름 add (필드 명 필드 내용);
* 칼럼은 같은 이름으로 저장 되지 않습니다.
alter table kongcafe
add( -- 추가 할 때, add 사용
coloc varchar2(10) -- 10자리 까지 문자를 담을 수 있는 공간 확보
);
4) ALTER 문을 활용 : 테이블 구조 수정 / 필드 수정
형태 : alter table 테이블 이름 modify (필드 명 필드 내용);
alter table kongcafe
modify( -- 칼럼의 내용을 수정할 때 modify 사용
coloc varchar2(20) -- 20자리 까지 문자를 담을 수 있게 변경
);
5) ALTER 문을 활용 : 테이블 구조 수정 : 필드 삭제
형태 : alter table 테이블명 drop column 필드명;
alter table kongcafe
drop column coloc; -- 필드 항목을 삭제시에는 drop 사용
6) RENAME : 이름변경
① alter table 테이블명 rename to 바꿀 테이블명 ( alter + rename)
alter table kongcafe rename to kimcafe;
② rename 테이블명 to 바꿀 테이블명
rename kongcafe to kimcafe
7) DROP : 테이블 삭제
형식 : drop table 테이블 명;
drop table kimcafe;
-- 이렇게 삭제하게 되면 IN$Pf/4SJUDTGyOaorikmfynQ==$0 이러한 형태로 삭제 되지 않고
로 스스로 이름을 임시로 하여해서 저장되어 있다.
* 저장 되어 있는 임시 테이블들 한번에 삭제하기
purge recyclebin;
* 임시로 저장된 테이블 복원 하는 법
형태: flashback table 테이블 이름 to before drop
flashback table kimcafe to before drop; -- 삭제 전으로 돌려준다.
flashback table kimcafe to before drop rename to konfcafe;
-- 복원시에 이름을 바꾸고 싶다면 rename을 사용하면 된다.
* 임시 테이블 만들지 않고 한번에 삭제 하기
형태 : drop table 파일명 purge;
drop table kimcafe purge;
8) TRUNCATE : 테이블 내의 모든 데이터 (레코드) 삭제
헝태: truncate table 파일명;
truncate table kongcafe;
'빅데이터 > DataBase' 카테고리의 다른 글
[DataBase] 트랜잭션 (Transaction) (0) | 2020.04.12 |
---|---|
[DataBase] DML (Data Manipulation Language) (0) | 2020.04.11 |
[DataBase] 자료형 타입 (0) | 2020.04.10 |
[DataBase] 내장 함수(function) (0) | 2020.04.10 |
[DataBase] 그룹 함수(Group Funtion) (0) | 2020.04.10 |