I actually never use the datetime type at all, it's slower than using timestamps and I've benched every kind of timesearch I can think of even having to create to create the timestamp from strototime (which is FASTER than mktime, though it seems like it shouldn't be) and it's always been better. Plus datetime types are alien as far as php is concerned.
EDIT: no - you don't have to use the DATE_FORMAT function, but you might as well as if you can as you're cutting out a middle man. You can use [man]mktime[/man] if you cut the string up, or use [man]strtotime[/man]
$t = "2005-07-04 05:42:54";
echo date('H:i:s', strtotime($t));