Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The query itself does not matter. If i delete/rename a column the app WILL break no matter how much i would follow best practices.

I dont see `select !name from users` any worse than `select name from users`. In both scenarios the app will break if the name column is renamed/deleted.



To me the biggest thing against select * is readability. Basically you are obfuscating what you are doing and getting from the database. In trivial queries it does not matter, but when you read more complex procedures, it starts to be a bit annoying.


I think there are pros and cons to both approaches:

- Explicitly spelling out the column names has the advantage that you can search your code base for that name and see where it's used.

- When declaring a view which filters the rows in a table, using SELECT * would simplify maintenance, as you wouldn't need to update the view when new columns get added to the table.


But delete/rename columns are not the only operations, nor the most common. Adding columns is the most common, and there only one of those options breaks




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: