Some reasons not to use the first statement (select *) are:
- If you add some large fields (a BLOB column would be very bad) later to that table, you could suffer performance problems in the application
- If the query was a JOIN query with two or more tables, some of the fields could have the same name. It would be better to assure that your field names are different.
- The purpose of the query is clearer with the second statement from an programming esthetics viewpoint