[Oracle의 데이터 타입]
숫자
number(정밀도|스케일)
정밀도 : 전체 자리수(1~38)
스케일 : 소수점이하 자리수
number(5) -> 전체 5자리 확보
number(5, 3) -> 전체 5자리 확보(정수 2자리, 소수점 3자리)
number(*, 3) -> 소수점 3자리 확보, 정수는 38자리 이내에서 자동할당
문자열
char
- 고정길이 문자열 취급
- 최대 2000byte(한글 약 666글자)
- 기억장소가 남으면 공백이 삽입
- 기억공간보다 큰 데이터는 저장 오류
char(10) -> '안녕' (6byte) -> 4byte는 공백으로 삽입(낭비)
varchar2
- 가변길이 문자열을 취급
- 최대 4000byte
- 기억장소가 남으면 시스템에 반납
- varchar와 같은 기능이나 오라클은 varchar2를 권강
날짜
date
- 기본 날짜형
- sysdate로 현재 날짜 정보를 저장
timestamp
- 시간대 정보와 정교한 시간정보를 필요할 때 사용
- 1970년 1월 1일 0시 0분 0초부터 ms로 증가하는 숫자
[Oracle의 제약 조건]
- not null
해당 컬럼에 null값이 들어오지 못하도록 함
- unique
null은 허용하지만 중복은 허용하지 않음
- primary key
null과 중복을 저장하지 못함
테이블에 저장된 데이터를 고유하게 식별하기 위한 키를 정의
인덱싱 기능
foreign key의 원본 테이블의 필드
- default
null값이 입력될 경우 default로 정의된 값이 자동으로 입력
- foreign key
primary key의 데이터를 참조
- check
컬럼에 정해진 데이터 조건을 지정하여 그 범위내에 데이터만 입력(mysql enum과 유사)
'SQL > Oracle' 카테고리의 다른 글
[Oracle] oracle함수 (0) | 2022.06.13 |
---|---|
[Oracle] group by(그룹), 집계 함수 count() (0) | 2022.06.13 |
[Oracle] 컬럼 별명 & 중복 값 제거 (0) | 2022.06.13 |
[Oracle] Oracle student 테이블 생성 (0) | 2022.06.12 |
[Oracle] Oracle 19c, sql developer 다운로드 (0) | 2022.06.12 |