2008. 8. 20. 18:40
Chap 9. 테이블 생성 및 변경, 삭제하기
2008. 8. 20. 18:40 in 수업/오라클 + PL/SQL
오라클에서 제공하는 자료형
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;
자료형의 종류 |
의미 |
CHAR(N) |
주어진 크기만큼 고정 길이의 문자 저장 |
VARCHAR2(N) |
주어진 크기만큼 가변 길이의 문자 저장 |
NVARCHAR2(N) |
국가별 국자 집합에 따른 크기의 문자 또는 바이트의 가변 길이 문자 |
NUMBER(p, s) |
정밀도와 스케일로 표현되는 숫자 |
DATE |
날짜 형식을 저장 |
ROWID |
테이블내 행의 고유 주소를 가지는 64진수 문자 |
BLOB |
대용량의 바이너리 데이터를 저장 |
CLOB |
대용량의 텍스트 데이터를 저장 |
BFILE |
대용량의 바이너리 데이터를 파일 형태로 저장 |
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 |