I can't add comments due to lack of rep, so I'll make it an answer..
My understanding is that the answers above will not work (or may lead to other problems down the road). That's because WordPress has a terribly annoying tendency to store data (including site URLs) in PHP serialized arrays stored in single database fields. PHP relies on the string length of each piece of data to be able to read it properly, so if you don't update the string lengths as well, you might run into issues.
There are numerous scripts and tools for helping you update your database correctly. As a programmer type, I am partial to this one: https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
But I'm sure there are (much) user-friendlier versions out there.
...
Having said all of that, I will confess that I've moved WP sites before using a method similar to that described by Geo above, and I don't know that I've run into any issues yet. I just prefer not to take any chances with my site's data.