date는 날짜는 있지만 시간은 없는 경우에 사용한다.
지원 범위는 ‘1000-01-01’ 부터 ‘9999-12-31’ 까지다.
✏️ 공식 문서 The `DATE` type is used for values with a date part but no time part. MySQL retrieves and displays `DATE` values in `'***YYYY-MM-DD***'` format. The supported range is `'1000-01-01'`to `'9999-12-31'`날짜 및 시간을 모두 포함하는 경우에 사용한다.
datetime의 지원 범위는 ‘1000-01-01 00:00:00’ 부터 ‘9999-12-31 23:59:59’ 까지다.
TIMESTAMP범위는 '1970-01-01 00:00:01'UTC에서 '2038-01-19 03:14:07'UTC까지다.
Datetime과 Timestamp모두 날짜와 시간을 포함하는 경우에 사용하지만 아래와 같은 차이가 있다.

날짜 데이터의 형식을 바꿀 때는 date_format()을 사용하는데, mysql이 아닌 postgresql에서는 to_date, to_timestamp, to_char , ::time, ::date, ::timestamp을 이용한다.