Date, Datetime, Timestamp
DATE
- 시간을 제외한 날짜를 저장하는 타입
- 기본 포맷은 'YYYY-MM-DD'
DATETIME
- 날짜와 시간을 함께 저장할 수 있는 타입
- 기본 포맷은 'YYYY-MM-DD HH:mm:ss'
TIMESTAMP
- 날짜와 시간을 타임스탬프 형식으로 저장하는 타입
- 기본 포맷은 'YYYY-MM-DD HH:mm:ss'
- UTC 시각으로 변환됨
DATETIME VS TIMESTAMP
- timestamp는 사용자의 별도 입력이 없으면 데이터가 마지막으로 입력되거나 변경된 시간이 저장되며 기본적으로 not null 이다
- datetime은 데이터 값을 입력해주어야만 날짜가 입력된다
- datetime은 시스템의 time_zone이 변경되어도 값이 변하지 않지만 timestamp는 시스템의 time_zone에 의존한다
- datetime은 문자형으로 저장되고 timestamp는 숫자형으로 저장된다
- timestamp는 4바이트의 저장 공간을 가용하고 datetime은 8바이트의 저장공간을 사용한다