2008. 8. 20. 18:40

Chap 9. 테이블 생성 및 변경, 삭제하기

오라클에서 제공하는 자료형

자료형의 종류

의미

CHAR(N)

주어진 크기만큼 고정 길이의 문자 저장
1바이트~2000바이트

VARCHAR2(N)

주어진 크기만큼 가변 길이의 문자 저장
1바이트~4000바이트

NVARCHAR2(N)

국가별 국자 집합에 따른 크기의 문자 또는 바이트의 가변 길이 문자
 1바이트~4000바이트

NUMBER(p, s)

정밀도와 스케일로 표현되는 숫자

DATE

날짜 형식을 저장

ROWID

테이블내 행의 고유 주소를 가지는 64진수 문자
해당 6바이트(제한된 ROWID) 또는 10바이트(확장된 ROWID)

BLOB

대용량의 바이너리 데이터를 저장
최대 4GB

CLOB

대용량의 텍스트 데이터를 저장
최대 4GB

BFILE

대용량의 바이너리 데이터를 파일 형태로 저장
최대 4GB

TIMESTAMP(n)

DATE 형의 확장된 형태

INTERVAL YEAR TO MONTH

년과 월을 이용하여 기간을 저장

INTERVAL DAY TO SECOND

일, 시, 분, 초를 이용하여 기간을 저장
두 날짜 값의 정확한 차이를 표현한는데 유용


1. 테이블 생성
create table 테이블명
(컬럼명 자료형)
=======사번, 이름, 급여로 테이블 구성=============================================
CREATE TABLE em01
 (empno NUMBER(4),
 ename varchar2(20),
 sal NUMBER(7, 2));
====================================================
식별자의 선언
컬럼명이나 테이블명을 선언하기 위해서는 다음과 같은 원칙을 지켜야 한다.
1. 시작은 반드시 영문자
2. 예약어(SELECT 등)는 쓸 수 없다.
3. 유일한 단어이어야 한다.
4. _,$는 사용가능하다.

서브쿼리를 이용한 테이블 생성
테이블의 구조와 데이터까지 복사하는 경우
create table emp01
as
select * from emp;
원하는 컬럼만 복사하는 경우
create table emp01
as
select empno, ename, sal from emp;
테이블의 구조만 복사
create table emp01
as
select * from emp
where 1=0;      // where 조건 절이 항상 거짓이 되므로 빈 테이블이 생성된다.

2. 테이블의 구조 변경
컬럼 추가
alter table 테이블명                   alter table emp01
add (컬럼명 자료형);                add (email varchar2(10));
컬럼 변경
alter table emp01
modify (email varchar2(40));
컬럼 삭제
alter table emp01
drop column email;
테이블 제거
drop table emp01;
================================================================================
EMP 테이블의 사원번호, 이름, 직급, 매니저 칼럼과 동일한 칼럼명과 유형을 갖는 테이블을 EMP01란 이름으로 생성하라.
create table emp01
as
select empno, ename, job, mgr from emp;
이미 존재하는 EMP01 테이블에 EMP 테이블과 동일한 구조로 입사일자 칼럼을 추가하라.
alter table emp01
add(hiredate date);
EMP01 테이블의 직급 칼럼의 크기를 20으로 변경하라.(기존 job varchar2(9))
alter table emp01
modify (job varchar2(20));
EMP01 테이블에서 매니저 칼럼을 삭제하라.
alter table emp01
drop column mgr;
================================================================================
테이블 명을 변경하는 RENAME 문
형식 : RENAME old_name TO new_name
EMP01 테이블의 이름을 EMP02로 변경하라.
rename emp01 to emp02;

'수업 > 오라클 + PL/SQL' 카테고리의 다른 글

Chap 11. 트랜잭션 관리  (0) 2008.08.27
Chap 10. 테이블에 데이터 추가, 수정, 삭제하기  (0) 2008.08.21
Chap3,4 SQLPLUS 명령어 & 연산자  (1) 2008.08.20
Chap 2. SQL의 기본  (2) 2008.08.20
Chap 8. 서브쿼리  (0) 2008.08.20