IT 프로그래밍/ORACLE2014. 1. 25. 02:54

이번에는 오라클에서 CREATE 문을 살펴보겠습니다.

 

CREATE문은 새로운 테이블을 생성합니다. 아래는 CREATE TABLE문의 기본 형식입니다.

 

CREATE TABLE table_name(column_name, data_type expr, ...);

 

아래는 부서 번호, 부서 이름, 지역 이름으로 구성된 부서 테이블을 새롭게 생성하는 예제입니다.

 

CREATE TABLE DEPT01(

DEPTNO NUMBER(4),

DNAME VARCHAR2(10)

);

 

위 명령어를 수행하고 나면 존재하지 않았던 DEPT01이라는 테이블이 생성됩니다. CREATE TABLE은 새롭게 생성될 테이블의 이름과 함께 그 테이블을 구성하는 컬러 이름과 각 컬럼의 성격을 규정합니다.

위 예제에서 첫번째 라인의 CREATE TABLE DEPT01 은 DEPT01 이라는 이름의 테이블을 생성하라는 뜻 입니다.

두번째 라인의 DEPTNO NUMBER(4)는 DEPT01 테이블 안에 DEPTNO 라는 컬럼을 생성하고 DEPTNO 컬럼의 속성은 4자리의 숫자를 저장할 수 있다는 뜻 입니다.

세번째 라인의 DNAME VARCHAR2(10)은 DNAME이라는 컬럼을 생성하고 DNAME 컬럼의 속성은 최대크기가 10인 가변 길이 문자 데이터를 저장할 수 있다는 뜻 입니다.

 

다음은 컬럼을 정의할 때 지정할 수 있는 데이터형을 정리한 표 입니다.

 

 이름

설명 

 CHAR(size)

고정 길이 문자 데이터입니다. VARCHAR2와 동일한 형태의 자료를 저장할 수 있고, 입력된 자료의 길이와는 상관없이 정해진 길이만틈 저장 영역을 차지합니다. 최소 크기는 1 입니다. 

 VARCHAR2(size)

Up to 2000 Bytes 가변 길이 문자 데이터입니다. 실제 입력된 문자열의 길이만큼 저장영역을 차지합니다. 최대 크기는 명시해야 하며, 최소 크기는 1 입니다. 

 NUMBER

Internal Number Format 최고 40자리까지의 숫자를 지정할 수 있습니다. 이때 소수점이나 부호는 길이에 포함되지 않습니다. 

 NUMBER(w) 

w자리까지의 수치로 최대 38자리까지 가능합니다.(38자리가 유효 숫자입니다) 

 NUMBER(w, d) 

w는 전체 길이, d는 소수점 이하 자릿수입니다. 소수점은 자릿수에 포함되지 않습니다 

 DATE

BC 4712년 1월 1일 ~ AD 4712년 12월 31일까지의 날짜입니다. 

 LONG

가변 길이의 문자형 데이터 타입이며, 최대 크기는 2GB입니다. 

 LOB

2GB까지의 가변 길이 바이너리 데이터를 저장시킬 수 있습니다. 이미지 문서, 실행 파일을 저장할 수 있습니다. 

 ROWID

ROWID는 Tree-piece Format을 갖습니다. ROWID는 DB에 저장되어 있지 않으며, DB Data도 아닙니다. 

 BFILE 

대용량의 바이너리 데이터를 파일 형태로 저장하며, 최대 4GB 입니다. 

 TIMESTAMP(n)

DATE형의 확장된 형태입니다. 

 INTERVAL YEAR TO MONTH

년과 월을 이용하여 기간을 저장합니다. 

 INTERVAL YEAR TO SECOND

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

 

 

 

Posted by 정윤문경아빠
IT 프로그래밍/ORACLE2014. 1. 24. 01:10

안녕하세요. 이번에는 SQL의 개념에 대해서 알아보겠습니다.

 데이터베이스란 데이터를 관리하는 시스템을 말합니다. 이런 데이터들은 물리적인 파일 형태로 저장되어 있지만 이들 파일을 직접 열어서 데이터를 보는 것은 아닙니다. SQL(Structured Query Language) 이라는 질의 언어를 통해 데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 조작이나, 테이블을 비롯한 다양한 객체(시퀀스, 인덱스 등)를 생성 및 제어합니다.

데이터베이스 관리 시스템(DBMS)에는 여러 가지가 있지만, DBMS의 SQL문과 약간의 문법적 차이를 제외하고는 비슷합니다. 따라서 오라클에서 사용하는 문법을 잘 익혀 두면 MS-SQL, MY-SQL과 같은 DBMS에서도 문제없이 SQL문을 사용할 수 있습니다. 이러한 SQL은 사용하는 용도에 따라서 나눌 수 있습니다. 대표적인 것들에 대해서 살펴보겠습니다.

 

1. 데이터 정의어(DDL)

데이터베이스 관리자나 응용 프로그래머가 데이터베이스의 논리적 구조를 정의하기 위한 언어로, 데이터 딕셔너리(Data Dictionary)에 저장됩니다.

 2. 데이터 조작어(DML)

데이터베이스에 저장된 데이터를 조작하기 위해 사용하는 언어입니다. 데이터 검색(Retrieval), 추가(Insert), 삭제(Delete), 갱신(Update) 작업을 수행합니다.

 3. 데이터 제어어(DCL)

데이터에 대한 접근 권한 부여 등의 데이터베이스 시스템의 트랜잭션을 관리하기 위한 목적으로 사용되는 언어입니다.

다음 표는 명령문을 유형별로 나누어 놓은것입니다

유형 

명령문 

DQL : Data Query Language(질의어) 

SELECT(데이터 검색시 사용) 

DML : Data Manipulation Language(데이터 조작어)

  - 데이터 변경시 사용 

INSERT(데이터 입력)

UPDATE(데이터 수정)

DELETE(데이터 삭제) 

DDL : Data Delinition Language(데이터 정의어) 

CREATE(데이터베이스 생성)

ALTER(데이터베이스 변경)

RENAME(데이터베이스 객체 이름 변경)

TRUNCATE(데이터베이스 저장 공간 삭제) 

TCL : Transaction Control Language(트랜잭션 처리어) 

COMMIT(트랜잭션의 정상적인 종료 처리)

ROLLBACK(트랜잭션 취소)

SAVEPOINT(트랜잭션 내에 임시 저장점 설정) 

DCL : Data Control Language(데이터 제어어) 

GRANT(데이터베이스에 대한 일련의 권한 부여)

REVOKE(데이터베이스에 대한 일련의 권한 취소) 

오라클을 배운다는 것은 SQL을 배우는 것이라고 해도 과언이 아닙니다. SQL문은 아주 다양한 명령어와 문법구조를 제공하기 때문에 이를 다 언급할 수는 없으므로 SQL문을 위해 가장 기초적인 문장들을 다음 포스트에서 살펴보겠습니다.

 

Posted by 정윤문경아빠