Datetime
Used when you need a value that contains both date and time information. MySQL retrieves and displays the datetime value in ' yyyy-mm-dd HH:MM:SS ' format, supported by ' 1000-01-01 00:00:00 ' to ' 9999-12-31 23:59:59 '. 8 bytes of storage.
DATE
When you need only a date value, there is no time part. MySQL retrieves and displays the date value in ' YYYY-MM-DD ' format, supported by ' 1000-01-01 ' to ' 9999-12-31 '.
TIMESTAMP
A column type provides a type that you can use to automatically mark an INSERT or update operation with the current date and time. The timestamp value cannot be earlier than 1970 or later than 2037. 4 bytes of storage.
Time
Represents the time of day. MySQL retrieves and displays the time value in the "HH:MM:SS" format. The range of support is ' 00:00:00 ' to ' 23:59:59 '.
Int
4 bytes of storage, storage space is less than datatime, int index storage space is relatively small, sorting and query efficiency is relatively high; poor readability, unable to visualize the data, can make you angry
Comparison of Date,datetime,int,timestamp and time types in MySQL database