본문으로 바로가기

[DATABASE][DDL]

category DATABASE 7년 전



DATABASE

DDL

DDL (Data Definition Language)

데이터베이스 객체들을 생성변경제거 할 때 사용



-create : 테이블 생성
-alter : 테이블 구조 변경
-drop : 테이블 삭제
-rename : 테이블 이름 변경

-truncate : 테이블의 모든 내용 제거

TABLE

* 오라클은 관계형 데이터 베이스를 기본으로 함

▶ 관계형 데이터베이스는 정보저장을 위해 관계나 2차원 테이블을 사용

▶ 관계형 데이터 베이스는 기본 데이터를 저장하기 위한 구조로 테이블을 사용


자료형

(type)

자료형

설명

CHAR

고정 길이의 문자 데이터

VARCHAR2

가변 길이의 문자 데이터

NUMBER

숫자 저장

DATE

BC 4712년 1월 1일 ~ AD 4712년 12월 31일까지의 날짜

LONG

가변 길이의 문자형 데이터 타입

LOB

이미지실행 파일 저장



-CREATE : 테이블 생성

기본 형태

CREATE TABLE [테이블 이름] (칼럼이름  타입(),칼럼이름  타입());

(테이 블 2개 만들어 보기 )


ex)


테이블명 : member

Id number (not null primary key)

 Name  varchar2(10)

Age  number

 Grade  varchar2(5)

Address   varchar2(40)

Email   varchar2(40)

Year   number



테이블 명: MANAGER

필요칼럼 :

ID  NOT NULL PRIMARY KEY

SUBJECT     VARCHAR2(20)

YEAR          Number 










복사

기본 형태

CREATE TABLE 복사할 테이블명 AS SELECT * FROM 기존 테이블명


EX)

새로운 테이블 명 : member2



ALTER : 테이블 구조 변경


*새로운 칼럼 추가

# 새로운 칼럼은 항상 마지막에 생성되므로, 자신이 원하는 위치에 추가 불가

기본 형태

ALTER TABLE 테이블명 ADD (칼럼명 데이터 타입);


새로운 칼럼 : tel  타입 : varchar(20) 을 추가하기 



이전것과 비교하면 텔이 추가된것을 알수 있다.


기존 칼럼 수정

# 해당 칼럼에 해당 자료가 없는 경우

-칼럼의 데이터 타입 변경 가능
-칼럼의 크기 변경 가능

# 해당 칼럼에 자료가 있는 경우

-칼럼의 데이터 타입 변경 불가

-현재 갖고 있는 데이터 크기보다 큰 크기로 늘리는 거만 가능

기본 형태


ALTER TABLE 테이블명 MODIFY (칼럼명 데이터 타입);


ADDRESS Varchar 길이를 줄여보

ADDRESS Varchar 길이를 줄여보자 



*기존 칼럼 삭제


기본 형태

ALTER TABLE 테이블명 DROP COLUMN 칼럼명;

Tel 칼럼 삭제하기




DROP : 테이블 구조 삭제

# 기본 테이블 제거 시, 테이블에 저장 되어있는 데이터도 함께 제거

# 한번 제거한 테이블은 다시 복구 불가

▶ 테이블 삭제와 무결성 제약 조건

-삭제하고자 하는 테이블의 기본 키나, 고유 키를 다른 테이블에서 참조하는 경우에는 해당 테이블 제거 불가
-참조하는 테이블 먼저 제거 후, 해당 테이블 삭제

기본 형태


DROP TABLE 테이블명;

Member2 테이블 삭제하기



기타 DDL

RENAME : 기존에 사용하던 테이블 이름 변경


기본 형태

RENAME 기존 테이블명 TO 바꾸고 싶은 테이블명;

Member 테이블의 이름을 바꾸어 보기



TRUNCATE : 기존에 사용하던 테이블의 모든 로우() 제거

기본 형태


TRUNCATE 테이블명