본문 바로가기

SQL

MySQL의 데이터 형식(정수형, 문자형, 실수형, 날짜형)

# 정수형

 

1) 정수형의 종류

tinyint ,smallint, int, bigint

 

- tinyint

크기 : 0 ~ 255

 

- smallint

크기 : -32,768 ~ 32,767

 

- int

크기 : -2,147,483,648 ~ 2,147,483,647

 

- bigint

크기 : -9,223,372,036,854,775,808‬ ~ 9,223,372,036,854,775,8087

 

크기비교

tinyint < smallint < int < bigint

 


 

# 실수형

 

2) 실수형의 종류

float, double

 

- float

4바이트, 소수정 아래 7자리


- double

8바이트, 소수점 아래 15자리

 

정수형과 실수형 모두 unsigned라는 명령어를 사용하여 양수의 값만 다루게 할 수도 있다.

다룰 데이터의 크기에 따라서 그에 맞게 사용할 데이터 형태를 지정함으로써 전체 데이터용량을 훨씬 줄일 수 있다.

 

unsigned 사용 예시


 

# 문자형

 

3) 문자형의 종류

char, varchar, text, blob

 

- char

고정길이 문자열 저장

크기보다 작은 문자열 저장시 뒷부분은 공백으로 채워짐

최대 255바이트 저장

 

- varchar

가변길이 문자열 저장

최대 255바이트 저장

length + 1 길이만큼 저장

 

고정된 길이의 문자열이라면 char형태로 저장하는 것이 좋다.

가변 길이 문자열이라면 char는 NULL인 값에도 해당 길이만큼 바이트가 소모되므로 주의해야한다.

varchar는 같은 길이라면 char보다 더 많은 저장공간이 소모된다.

 

- text

굉장히 큰 문자열을 저장

 

- blob

(binary data가 저장됨) 굉장히 큰 파일을 저장 
문자가 아닌 이진형태

 

text와 blob모두 대량의 데이터를 다룰 때 사용된다.

 

 


 

# 날짜형

 

4) 날짜형의 종류

date, time, datetime

 

- date

날짜만 저장

3바이트 


- time

시간만 저장

3바이트 


- datetime

날짜 및 시간을 저장

8바이트