Welcome to the forum. There are 2 answers to your question. The first is, why would you ever want to do that? If the point is to update the table, you would normally just update it, regardless of whether it is the same as the previous data. This requires less operations to the database. The difference only matters when you have millions of transactions a day, but there are many databases that do have that much traffic, so it doesn't make any sense for you to learn how to do something that is not normally done. Learn how to do the things that
are done, in practice.
But to answer your question directly, yes, of course you could perform a SELECT query to determine what data is currently stored, compare it with what you have received via $_POST or any other way, and only perform an UPDATE query if they are different. But, as I said, what would be the point? You wouldn't be saving anything in terms of operations on the database, since you would always be performing at least one query, and sometimes two. As to affecting other fields in the table, you only update the fields you want, not all the fields. If you are not familiar with the syntax of an UPDATE query, read this:
http://www.tizag.com/mysqlTutorial/mysqlupdate.php