[MariaDB] 데이터 유형

Geehyun(장지현)·2024년 2월 12일
0

MariaDB

목록 보기
2/12
post-thumbnail

데이터 유형

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

문자형

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

날짜형

데이터 유형크기(byte)설명
date3- 형식 : YYYY-MM-DD
- 지원범위 : 1000-01-01 ~ 9999-12-31
time3- 형식 : HH:MM:SS.ssssss
- 지원범위 : -838:59:59:999999 ~ 838:59:59:999999
datetime8- 형식 : YYYY-MM-DD HH:MM:SS.ffffff
- 지원범위 : 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
timestamp4- 형식 : YYYY-MM-DD HH:MM:SS.ffffff
- 지원범위 : 1970-01-01 00:00:01 (UTC) ~ 2038-01-19 03:14:07 (UTC)
year1- 형식 : YYYY
- 지원범위 : 1901 ~ 2155

숫자형

구분데이터 유형크기(byte)수치 범위설명
이진bit(M)M/81~64 bit 표현값- M은 1~64 비트 수 입력가능
정수tinyint1-128~127
0~255
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
smaillint2-32,768~32,767
0~65,535
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
mediumint3-8,388,608~8,388,607
0~16,777,215
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
int
integer
4-2,147,483,648~2,147,483,647
0~4,294,967,295
signed : 부호 있는 정수형
unsigned : 부호 없는 정수형
bigint8-92,23,372,036,854,775,808~92,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)82.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프로그래밍 데이터베이스 기초에서 실무까지 - 나익수, 서연경 지음
위 책을 공부하며 작성하고 있습니다!

profile
개발자를 꿈꾸는 병아리 (블로그 이전 준비중 입니다.)

0개의 댓글