-
Oracle - 테이블 생성 , 데이터타입DataBase/Oracle 2024. 9. 3. 22:36반응형
테이블생성
Oracle에서 테이블을 생성하는 것은 데이터베이스에 구조화된 데이터를 저장하기 위한 기본 작업입니다. 테이블은 행(row)과 열(column)로 구성되며, 각 열은 특정 데이터 유형을 가지는 필드를 나타냅니다.
테이블 생성 구문
Oracle에서 테이블을 생성하기 위한 기본 구문은 다음과 같습니다:
CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, ... );
- table_name: 생성할 테이블의 이름입니다.
- column1, column2, ...: 테이블의 열을 정의합니다.
- datatype: 각 열에 저장될 데이터의 유형을 지정합니다.
- constraint: 열에 대한 제약 조건(예: PRIMARY KEY, NOT NULL, UNIQUE 등)을 정의합니다.
예시
CREATE TABLE employees ( employee_id NUMBER(10) PRIMARY KEY, first_name VARCHAR2(50), last_name VARCHAR2(50) NOT NULL, hire_date DATE, salary NUMBER(8,2) );
이 예시에서는 employees라는 테이블을 생성하며, 다음과 같은 열들이 포함됩니다:
- employee_id: 숫자 형식의 열이며, 기본 키로 설정되어 있습니다.
- first_name: 최대 50자의 가변 문자 열.
- last_name: 최대 50자의 가변 문자 열로, NULL 값을 허용하지 않습니다.
- hire_date: 날짜 형식의 열.
- salary: 소수점 이하 두 자리를 포함하는 최대 8자리 숫자 열.
데이터 타입 설명
Oracle에서 사용할 수 있는 주요 데이터 타입은 다음과 같습니다:
- CHAR(size): 고정 길이의 문자 데이터를 저장합니다. 예를 들어 CHAR(10)은 항상 10자의 데이터를 저장하며, 부족한 부분은 공백으로 채워집니다.
- VARCHAR2(size): 가변 길이의 문자 데이터를 저장합니다. VARCHAR2(50)은 최대 50자의 데이터를 저장할 수 있으며, 실제 데이터의 길이에 따라 저장됩니다.
- NUMBER(p, s): 숫자 데이터를 저장합니다. p는 전체 자릿수(precision)를 의미하고, s는 소수점 이하 자릿수(scale)를 의미합니다. 예를 들어, NUMBER(8,2)는 최대 6자리의 정수와 2자리의 소수점 이하 값을 저장할 수 있습니다.
- DATE: 날짜와 시간을 저장합니다. 기본적으로 Oracle의 DATE 형식은 년, 월, 일뿐만 아니라 시, 분, 초까지 저장할 수 있습니다.
- TIMESTAMP: 날짜와 시간을 더 정밀하게 저장할 수 있는 데이터 타입으로, 기본 DATE 타입보다 더 세밀한 시각 데이터를 저장할 수 있습니다.
- CLOB: 큰 텍스트 데이터를 저장하기 위한 데이터 타입입니다. CLOB은 최대 4GB의 텍스트 데이터를 저장할 수 있습니다.
- BLOB: 큰 바이너리 데이터를 저장하기 위한 데이터 타입입니다. 예를 들어, 이미지, 비디오 또는 기타 바이너리 데이터를 저장할 때 사용됩니다.
- RAW: 길이가 고정되지 않은 이진 데이터를 저장합니다. 바이너리 데이터를 그대로 저장하고자 할 때 사용합니다.
예시로 살펴본 주요 데이터 타입
예를 들어 employees 테이블에서:
- employee_id는 NUMBER(10)으로, 최대 10자리의 정수를 저장합니다.
- first_name과 last_name은 VARCHAR2(50)으로, 최대 50자의 문자열을 저장할 수 있습니다.
- hire_date는 DATE 형식으로, 직원의 고용일을 저장합니다.
- salary는 NUMBER(8,2)으로, 최대 6자리의 정수와 2자리의 소수점 이하 숫자를 저장할 수 있습니다.
반응형'DataBase > Oracle' 카테고리의 다른 글
Oracle - 제약조건 추가하기 (0) 2024.09.12 Oracle - 제약조건 (0) 2024.09.10 Oracle - delete 정복하기 (0) 2024.09.03 Oracle - Update 정복하기 (0) 2024.09.02 Oracle - Insert 실습 한방정리 (0) 2024.08.27