본문 바로가기
Database/MySQL

[MySQL] 데이터타입(자료형) 종류

by 그적 2022. 11. 23.

작성일자 기준 : 8.0 버전

MYSQL 공홈 : https://dev.mysql.com/doc/refman/8.0/en/data-types.html

 

MYSQL 데이터 타입 (자료형)

- 정수형 데이터

  종류 동의어 / 별칭 범위
비트 BIT    
정수(1byte) TINYINT    
정수(1byte) BOOL, BOOLEAN TINYINT(1) = 'true' = TRUE
TINYINT(0) = 'false' = FALSE
 
정수(2byte) SMALLINT   -32768~ 32767
정수(3byte) MEDIUMINT   -8388608~ 8388607
정수(4byte) INT INTEGER -2147483648~ 2147483647
정수(8byte) BIGINT    

8 버전부터는 UNSIGNED 혹은 ZEROFILL에 관한 속성은 추후에 사라질 예정이라고 사용을 지양하라고 적혀있다.

** 자료형의 범위를 벗어난 값이 입력될 경우, 자료형의 가장 큰 값 혹은 가장 작은 값이 입력된다.

 

- 실수형 데이터

  종류 동의어 / 별칭 비고
실수 DEMICAL(숫자, 소수점) DEC DEMICAL(5,3) 
5자리 숫자와 3자리 소수점
실수(4byte) FLOAT    
실수(8byte) DOUBLE    

 

- 날짜 및 시간형 데이터

종류 설명 비고
DATE YYYY-MM-DD 형식  
DATETIME YYYY-MM-DD hh:mm:ss 형식  
TIMESTAMP YYYY-MM-DD hh:mm:ss 형식 UTC 시간 기준
TIME hh:mm:ss 형식  

컬럼 설정 시 DEFAULT CURRENT_TIMESTAMP 혹은 ON UPDATE CURRENT_TIMESTAMP를 이용하여 칼럼 업데이트 시 현재 시간으로 시간이 자동으로 설정된다.

** DEFAULT CURRENT_TIMESTAMP 가 없을 경우 디폴트 0

** CURRENT_TIMESTAMP 동의어, NOW()

 

- 문자열 데이터

종류 길이 판단 기준 설명 비고
CHAR 문자 0 ~ 255까지 가능하지만,
괄호 안 숫자 설정 생략 시 디폴트 1
고정 길이
VARCHAR 문자 최대 21,844자 가변 길이
TEXT 문자 최대 65,535자  
MEDIUMTEXT 문자열 최대 16,777,215자  
LONGTEXT 문자열 최대 4,294,967,295자  
BINARY 바이트   향후 지원 안함
VARBINARY 바이트    
BLOB 바이트   블롭 객체는 주로 첨부파일 객체를 저장할 때 쓰임
ENUM   최대 65,535개  
SET   최대 64개  

** 자료형의 범위를 벗어난 값이 입력될 경우, 최대 입력될 수 있는 글자 수(바이트수) 기준으로 잘려 저장된다.

** VARCHAR와 TEXT 차이

 

이외에도 공간 데이터 타입, JSON 타입이 존재한다.

댓글