GeehDev

[MariaDB] 데이터 유형 본문

Study/DB

[MariaDB] 데이터 유형

geehyun 2024. 9. 23. 20:32

velog에서 이관해온 글


[MariaDB] 데이터 유형

데이터 유형

MariaDB에서 제공하는 기본 데이터 유형으로는 문자형, 숫자형, 날짜형이 있습니다.

문자형

구분 데이터 유형 크기(byte) 설명
기본 char(M) 0~255 - 고정길이 문자형 : 지정한 길이보다 짧은 문자열이 입력될 시 데이터 남은자리를 전부 공백으로 채움(메모리차지)
varchar(M) 0~65,535 - 가변길이 문자형 : 지정한 길이보다 짧은 문자열이 들어오면 해당 문자열 길이만큼만 메모리차지
- 실제 저장하려는 문자의 길이보다 1~2byte 더 필요 (속도가 char 보다 느림)
binary(M) 0~255 - 고정길이 이진 데이터 값
varbinary(M) 0~255 - 가변길이 이진 데이터 값
text tinytext 0~255 - 대용량의 문자열을 저장할 수 있습니다.
- 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
- 처리속도가 char보다 느립니다.
text 0~65,535 - 대용량의 문자열을 저장할 수 있습니다.
- 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
- 처리속도가 char보다 느립니다.
mediumtext 0~16,777,215 - 대용량의 문자열을 저장할 수 있습니다.
- 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
- 처리속도가 char보다 느립니다.
longtext 0~4GB - 대용량의 문자열을 저장할 수 있습니다.
- 해당 데이터 유형 타입은 기본키로 설정할 수 없습니다.
- 처리속도가 char보다 느립니다.
blob tinyblob 0~255 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
blob 0~65,535 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
mediumblob 0~16,777,215 - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.
longblob 0~4GB - 대용량의 사진, 동영상 및 문서 등의 파일을 저장할 수 있습니다.

날짜형

데이터 유형 크기(byte) 설명
date 3 - 형식 : YYYY-MM-DD
- 지원범위 : 1000-01-01 ~ 9999-12-31
time 3 - 형식 : HH:MM:SS.ssssss
- 지원범위 : -838:59:59:999999 ~ 838:59:59:999999
datetime 8 - 형식 : YYYY-MM-DD HH:MM:SS.ffffff
- 지원범위 : 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
timestamp 4 - 형식 : YYYY-MM-DD HH:MM:SS.ffffff
- 지원범위 : 1970-01-01 00:00:01 (UTC) ~ 2038-01-19 03:14:07 (UTC)
year 1 - 형식 : YYYY
- 지원범위 : 1901 ~ 2155

숫자형

구분 데이터 유형 크기(byte) 수치 범위 설명
이진 bit(M) M/8 1~64 bit 표현값 - M은 1~64 비트 수 입력가능
정수 tinyint 1 -128127
0
255
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
smaillint 2 -32,76832,767
0
65,535
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
mediumint 3 -8,388,6088,388,607
0
16,777,215
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
int
integer
4 -2,147,483,6482,147,483,647
0
4,294,967,295
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
bigint 8 -92,23,372,036,854,775,80892,23,372,036,854,775,807
0
18,446,744,073,709,551,615
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
고정
소수점
decimal(M,D)
dec(M,D)
numeric(M,D)
fixed(M,D)
- - M : 1~65 - M : 생략되면 10
- D : 생략되면 0
부동
소수점
double(M,D) 8 2.23e-308 ~ ~1.8e+308의 값을 15자리 정밀도로 저장 - M, D가 생략되면 하드웨어에서 사용하는 한계까지 저장
float(M,D) 4 ~1.18e-38 ~ ~3.4e+38의 값을 7자리 정밀도로 저장 - M, D가 생략되면 하드웨어에서 사용하는 한계까지 저장

💡데이터 유형 뒤에 괄호는?
데이터 유형 뒤에 괄호가 있을 경우 해당 타입으로 컬럼을 만들 때 입력해줘야하는 값을 말합니다.

    • M : 문자 길이를 지정하는 정수 (0 = 빈문자열)
    • D : 소수점 아래 자릿 수

💡unsigned, signed

  • unsigned : 부호 없는 정수형 (음수 저장불가)
  • signed : 부호 있는 정수형 (음수, 양수 저장 가능)

참고

MariaDB로 따라 하며 배우는 SQL프로그래밍 데이터베이스 기초에서 실무까지 - 나익수, 서연경 지음
위 책을 공부하며 작성하고 있습니다!

'Study > DB' 카테고리의 다른 글

[MariaDB] 데이터베이스 기초  (1) 2024.09.23