숫자형(Numeric Types)
INTEGER : 정수
NUMERIC(p,q) / DECIMAL: p전체자리수 q소수점자리수. ex) NUMERIC(4,3) = 0.001 ~ 9.999 NUMERIC(6) = 6자리 정수
FLOAT : 부동소수점
SERIAL : INTEGER를 기본값으로 1씩 추가되며 값이 자동 생성.
화폐형(Monetary Types)
금액을 저장하는 데이터 타입. 분수의 형태로 금액 저장
문자형(Character Types)
VARCHAR(n) : n 이하 문자의 길이 그대로 저장. n 없을 경우 임의의 길이의 모든 문자열 저장 = VARCHAR() = TEXT
CHAR(n) : "문자 길이 + 공백" 형태로 맞춰서 저장. n없을 경우 1글자만 저장 = CHAR(1)
날짜 및 시간(Date & Times)
세계 표준시(UTC) 시간대와 지역시(UTC + 각 지역의 시간정보) 시간대가 있다. 이를 WITHOUT TIME ZONE, WITH TIME ZONE이라고 한다.
날짜 및 시간 데이터 타입엔 TIMESTAMP, DATE, TIME이 있고 각각 날짜+시간,날짜,시간이다.
TIMESTAMP와 TIME은 각각 2개의 시간대와 조합하여 총 5개의 타입이 있다.
TIMESTAMP WITHOUT TIME ZONE : 날짜 + 세계 표준시
TIMESTAMP WITH TIME ZONE : 날짜 + 지역시
DATE : 날짜
TIME WITHOUT TIME ZONE : 세계 표준시
TIME WITH TIME ZONE : 지역시
불리언형(Boolean Types)
sql에서는 추가로 null도 있다.
논리데이터 타입. True/False.
True, yes, on, 1 = True
False,no,off,0 = Flase
NULL = 알수없는정보 or 일부 불확실
출력의 결과가 true이면 t, false이면 f를 출력.
배열형(Array Types)
여러 데이터를 하나의 집합으로 관리하기 위한 데이터 타입.
테이블 생성시 데이터 타입뒤에 []를 추가
데이터 입력시 Array[] 또는 '{}'로 데이터 입력
create table phone_number (
tel INTEGER[]
);
insert into phone_number values(
Array[01012345678, 01087654321]
);
insert into phone_number values(
'{01023456789, 01098765432}'
);
제이슨형(Json Types)
Json = JavaScript Object notation. 주로 서버와 웹 어플리케이션 간 데이터 주고 받을때 사용
{Key : Value} 형식으로 구성되어 있고, Json Object와 Json Array가 있다.
Value에는 숫자, 문자열, Json 배열, Json 등이 올 수 있다.
#Json Object안에 Json Object
{"Key" : "Value", "Key" : {"Key" : "Value"}}
#Json Array
[{"Key" : "Value"},{"Key" : "Value"}]
#일반적으로 아래와 같은 방식으로 저장한다.
{
"Key1" : "Value1",
"Key2" : "Value2",
"Key3" : [
{
"Key3_1" : "Value3_1",
"Key3_2" : "Value3_2"
},
{
"Key3_3" : "Value3_3",
"Key3_4" : "Value3_4"
}
]
}
json은 json데이터타입과 jsonb데이터타입이 있다.
json 입력테스트의 정확한 사본 생성 <ㅡㅡ> 처리속도가 느림
jsonb 처리속도가 비교적 빠름 <ㅡㅡ> 데이터 저장속도가 비교적 느림
도메인형(DOMAIN Types)
기존의 데이터타입에 제약조건을 추가해 특수한 목적을 가진 데이터 타입을 제작하여 사용하는것이다.
ex)
CREATE DOMAIN phoneint AS integer CHECK (VALUE > 0 AND VALUE < 9);
'SQL' 카테고리의 다른 글
SQL 칼럼 값 제한(제약조건) (0) | 2025.01.17 |
---|---|
SQL CAST 연산자, CAST 형 연산자 (0) | 2025.01.17 |
SQL DELETE (0) | 2025.01.16 |
SQL ALTER (0) | 2025.01.16 |
SQL AS (0) | 2025.01.16 |